• 여러분 모두 ‘칼’(knife)이 무엇인지 알고 있다. 하지만 여러분 모두에게 칼을 그려 내라고 한다면 그 형태는 제각각일 것이다. 그 이유는 칼이라는 것이 너무 추상적이기 때문이다. 추상적인 대상은 다양한 방법으로 구체화될 수 있다. 대장장이가 일관된 형태의 칼을 떠낼 때 사용하는 거푸집은 추상적인 칼을 구체화하는 뼈대라고 볼 수 있다. 객체 모델(Object model)의 역할은 거푸집과 같다. 객체 모델은 임의의 추상적인 개념을 프로그래밍 언어의 실질적 형태로 어떻게 대응시킬 것인가를 정의하는 뼈대를 의미한다. 여러분들은 모두 스마트폰을 가지고 있을 것이다. 내 스마트폰을 어떻게 표현하는 것이 좋을까? 스마트폰을 설명하는 방법은 다양하다. 하지만 모든 사람들에게 이러한 양식에 맞추어 설명을 하라고 한다면 어떨까?

    {
    	운영체제 : 안드로이드,
    	가로길이 : 10cm,
    	세로길이 : 15cm,
    	배터리용량 : 1000WH,
    	색상 : ...
    	기종 : ...
    }
    

    이런 양식을 사용한다면, 내 스마트폰도 양식에 맞춰 설명할 수 있고, 다른 사람들의 스마트폰도 위 포맷을 그대로 지키면서 설명할 수 있다. 이런 포맷을 객체 모델이라고 한다.

  • 다양한 객체 모델

    • 웹, 브라우저 객체 모델(Browser object model (BOM))
      • [bb7.4_1. title: 객체 모델(Object model)을 이해하려면 브라우저의 객체 모델(Browser object model (BOM))을 보는 것이 가장 빠르다. BOM은 브라우저 각 요소를 어떻게 객체로 표현할 것인가를 다룬다. 브라우저나 웹페이지를 제어한다는 것은 어떠한 언어의 객체에 브라우저 객체를 연결해 사용하는 것이다.](https://janghoo.notion.site/bb7-4_1-title-BOM-820327ceafb74fdf85dab75abb6e8857)
    • 웹, 문서 객체 모델(Document object model (DOM))
      • [bb7.4_2. title: 브라우저 객체 모델(Browser object model (BOM))에 국제표준은 없지만, 대부분의 브라우저 객체 모델은 문서(document) 객체를 속성(property)으로 가지는 윈도우(window) 객체를 포함한다. 문서 객체의 모델을 문서 객체 모델(Document object model (DOM))이라고 부른다.](https://janghoo.notion.site/bb7-4_2-title-document-property-wi-f74b5de712464638a1e336eb96d66da1)
      • 문서 객체 모델을 이용해 html 문서를 제어하기
        • [bb7.4_3. title: 클라이언트가 다운로드받은 html 문서를 덮어쓰지 않고 수정하려면 문서 객체 모델(Document object model (DOM))을 이용해야 한다. 정적 웹 페이지가 아닌 모든 웹 페이지는 DOM을 활용하는 것이다.](https://janghoo.notion.site/bb7-4_3-title-html-DOM-47bc9d55714141ce8aeb4069f34512ce)
      • 프론트엔드 프레임워크가 채택하고 있는 가상 문서 객체 모델
        • bb7.4_4. title: 가상 문서 객체 모델(Virtual-DOM)은 리액트(React)와 뷰(Vue)가 채택한 미니어처다. 변화된 내용을 실제 DOM 에 그리기 전에 시뮬레이션을 돌려보기 위한 목적으로 사용된다.
    • AI, 어노테이션 데이터 객체 모델
      • OCR 어노테이션 데이터 객체 모델
        • bc3__1_1. title: MMOCR 은 OCR 어노테이션 표준 양식을 제시한다. OCRDataset 클래스는 MMOCR 표준 어노테이션 포맷으로 작성된 파일을 파이썬 변수에 담을 수 있는 객체 모델이다.
  • 애플리케이션 모델

    • [ba2.3.a0.5.2. title: AWS SAM(Serverless Application Model)은 코드형 인프라(Infrastructure as Code (IaC)) 도구 클라우드포메이션(AWS Cloud Formation)에 애플리케이션을 뭉친 덩어리다. 즉, 서버리스 애플리케이션을 찍어내는 뼈대다.](https://janghoo.notion.site/ba2-3-a0-5-2-title-AWS-SAM-Serverless-Application-Model-AWS-Cloud-Formatio-0714f8616bab479ba5e1726d2201b696)