DOM : 웹 화면에 보이는 요소를 조작하기 위한 기능이 모인 라이브러리 덩어리를 의미한다.
우리가 사용하는 마크업 태그인 <a>, <p>, <div> 들이 웹페이지를 구성하는 DOM 객체로 생성된다.
DOM의 기능
1. 서버에서 데이터를 받아 화면에 출력하는 기능
2. 웹페이지 화면에서 발생하는 여러 동작 및 기능들을 구현
DOM의 구조

IDL(Interface Definition Language : 인터페이스 정의 언어)

노드 : 노드 객체에는 노드를 다루는 기본 기능 및 프로퍼티를 제공한다. 노드 탐색 및 조작에 사용된다.
Document : 텍스트, 엘리먼트, 속성 노드를 생성할 때 사용한다. 노드를 생성하는 팩토리 메서드로 구성되어 있다.
Element : HTML, XML 태그 요소의 기본 기능과 프로퍼티를 제공한다. 속성과 이벤트를 제어할 때 사용한다.
HTMLDocument : Document 객체를 확장하여 HTML용 프로퍼티와 메서드를 추가한 객체이다. body가 해당 객체의 프로퍼티다.
HTMLElement : Element 객체를 상속받은 HTML 태그 요소 전용으로 HTML 태그 요소의 기본 기능과 프로퍼티를 제공하며, id, className, style 등이 이 객체에 존재한다.
Text : 텍스트를 다루는 기능
Attribute : 속성을 다루는 기능