front-end development

[지식루프 웹개발공부] 08. DOM(Document Object Model)

지식루프 2025. 4. 26. 23:19
728x90
반응형

출처: https://www.w3schools.com/js/js_htmldom.asp

 

1. DOM이란 무엇인가요?

  • 우리가 웹사이트를 볼 때, 화면에 글자나 사진, 버튼들이 보이죠?
  • 이 모든 것들은 HTML 코드로 작성되어 있어요.

하지만,

브라우저는 HTML을 그대로 보여주는 게 아니라,

HTML 코드를 읽어서 '나무 구조(트리 구조)'로 변환해요.

이 구조를 바로 DOM(Document Object Model) 이라고 부릅니다.

쉽게 말하면

"HTML을 브라우저가 이해할 수 있게 만든 나무 모양의 구조"

라고 생각하면 됩니다.


2. DOM은 어떻게 생겼나요?

  • DOM은 트리 모양으로 생겼어요.
  • HTML 안에 있는 모든 태그(html, head, body, div, h1, p 같은 것들)가
  • 각각 DOM 안의 하나하나의 '객체(Object)' 가 됩니다.

예를 들어, 이런 HTML이 있다면:

<html>
  <head>
    <title>페이지 제목</title>
  </head>
  <body>
    <div>
      <h1>안녕하세요</h1>
    </div>
  </body>
</html>

DOM 트리는 이렇게 그릴 수 있어요:

html
 ├── head
 │    └── title ("페이지 제목")
 └── body
      └── div
           └── h1 ("안녕하세요")

정리

  • 각각의 HTML 태그가 하나의 작은 박스(객체) 가 되어
  • 전체 문서를 나무처럼 가지를 뻗으며 구성합니다.

3. DOM과 JavaScript는 어떻게 연결되나요?

  • 브라우저는 HTML을 DOM으로 만들어 보여주기만 하는 게 아니라,DOM을 읽거나 바꾸거나 추가하거나 삭제할 수 있도록 해줍니다.
  • JavaScript라는 프로그래밍 언어를 이용해서

예를 들어

  • 버튼을 클릭했을 때 색깔이 바뀌는 것도
  • 댓글을 입력했을 때 바로 화면에 추가되는 것도
  • 알림 창이 뜨는 것도 모두 JavaScript가 DOM을 조작해서 만드는 것입니다.

4. 실제로 할 수 있는 일은 뭐가 있나요?

할 수 있는 일 설명
텍스트 변경 웹사이트에 보이는 글자를 JavaScript로 바꿀 수 있어요.
요소 추가 새로운 글, 이미지, 버튼을 추가할 수 있어요.
요소 삭제 필요 없는 글이나 버튼을 없앨 수 있어요.
스타일 변경 글자 색깔, 크기, 배경 등을 바꿀 수 있어요.
반응 만들기 마우스를 올리거나, 버튼을 누를 때 반응하게 만들 수 있어요.

 

예시들

  • 디지털 시계처럼 초 단위로 숫자가 바뀌게 하기
  • 로그인 버튼을 클릭하면 버튼을 잠그기
  • 할 일 목록에서 항목을 클릭하면 삭제하기
  • 페이지가 열릴 때 애니메이션처럼 부드럽게 내용 나타나게 하기

5. DOM은 왜 중요한가요?

  • 과거에는 웹사이트가 단순히 글을 읽는 공간이었어요.
  • 요즘은 웹사이트가 앱처럼 동작합니다. (예: 소셜 미디어, 쇼핑몰, 스트리밍 사이트)

이런 풍부하고 생동감 있는 기능들을 만들려면,

HTML만으로는 부족하고,

JavaScript + DOM 조작이 꼭 필요합니다.

쉽게 말해, 웹사이트를 살아 움직이게 하려면 DOM을 다룰 수 있어야 합니다.


최종 요약

  • DOMHTML 문서를 트리 구조로 변환한 것이다.
  • JavaScript를 이용해 DOM을 읽고, 수정하고, 추가하고, 삭제할 수 있다.
  • DOM을 잘 다루면 웹사이트를 더 빠르고, 편리하고, 생동감 있게 만들 수 있다.
728x90
반응형