diff --git "a/docs/39_DOM/\353\254\270\354\206\214\355\235\254.md" "b/docs/39_DOM/\353\254\270\354\206\214\355\235\254.md"
new file mode 100644
index 00000000..e904e179
--- /dev/null
+++ "b/docs/39_DOM/\353\254\270\354\206\214\355\235\254.md"
@@ -0,0 +1,94 @@
+# ๐ DOM
+
+## ๐ 1. ๋
ธ๋
+
+### ๐ญ 1. HTML ์์์ ๋
ธ๋ ๊ฐ์ฒด
+
+> HTML ์์HTML element๋ HTML ๋ฌธ์๋ฅผ ๊ตฌ์ฑํ๋ ๊ฐ๋ณ์ ์ธ ์์๋ฅผ ์๋ฏธํ๋ค. HTML ์์๋ ๋ ๋๋ง ์์ง์ ์ํด ํ์ฑ๋์ด DOM์ ๊ตฌ์ฑํ๋ ์์ ๋
ธ๋ ๊ฐ์ฒด๋ก ๋ณํ๋๋ค.
+
+HTML ๋ฌธ์๋ HTML ์์๋ค์ ์งํฉ์ผ๋ก ์ด๋ฃจ์ด์ง๋ฉฐ, HTML ์์๋ ์ค์ฒฉ ๊ด๊ณ๋ฅผ ๊ฐ๋๋ค. ์ด๋ก ์ธํด HTML ์์ ๊ฐ์๋ ๊ณ์ธต์ ์ธ ๋ถ์ ๊ด๊ณparent-child๊ฐ ํ์ฑ๋๋ฉฐ, ๋ถ์ ๊ด๊ณ๋ฅผ ๋ฐ์ํด HTML ์์๋ฅผ ๊ฐ์ฒดํํ ๋ชจ๋ ๋
ธ๋ ๊ฐ์ฒด๋ค์ ํธ๋ฆฌ ์๋ฃ๊ตฌ์กฐ๋ก ๊ตฌ์ฑํ๋ค.
+
+![HTML](https://velog.velcdn.com/images/bluecoolgod80/post/82d3b1c6-4bb2-4132-b751-64298a874170/image.png)
+
+![HTML-Node](https://velog.velcdn.com/images/bluecoolgod80/post/3a9a86c7-1b63-4549-a3e3-12d227b2d91e/image.png)
+
+#### โจ ํธ๋ฆฌ ์๋ฃ๊ตฌ์กฐ
+
+> **๋
ธ๋ ๊ฐ์ฒด๋ค๋ก ๊ตฌ์ฑ๋ ํธ๋ฆฌ ์๋ฃ๊ตฌ์กฐ๋ฅผ DOMDocument Object Model์ด๋ผ๊ณ ํ๋ฉฐ,** ๋
ธ๋ ๊ฐ์ฒด์ ํธ๋ฆฌ๋ก ๊ตฌ์กฐํ๋์ด ์๊ธฐ ๋๋ฌธ์ DOM์ **DOM ํธ๋ฆฌ๋ผ๊ณ ** ๋ถ๋ฅด๊ธฐ๋ ํ๋ค.
+
+์ฌ๊ธฐ์ ํธ๋ฆฌ ์๋ฃ๊ตฌ์กฐtree data structure๋ ๋ถ๋ชจ ๋
ธ๋parent node์ ์์ ๋
ธ๋child node๋ก ๊ตฌ์ฑ๋์ด ๋
ธ๋ ๊ฐ์ ๊ณ์ธต์ ๊ตฌ์กฐ๋ฅผ ํํํ๋ ๋น์ ํ ์๋ฃ๊ตฌ์กฐ๋ฅผ ๋งํ๋ค.
+
+### ๐ญ 2. ๋
ธ๋ ๊ฐ์ฒด์ ํ์
+
+```html
+
+
+
+
+
+
+
+
+ - Apple
+ - Banana
+ - Orange
+
+
+
+
+```
+
+๋ ๋๋ง ์์ง์ ์ HTML ๋ฌธ์๋ฅผ ํ์ฑํด ์๋ ์ฌ์ง๊ณผ ๊ฐ์ DOM์ ์์ฑํ๋ค. ์ด์ฒ๋ผ DOM์ ๋
ธ๋ ๊ฐ์ฒด์ ๊ณ์ธต์ ์ธ ๊ตฌ์กฐ๋ก ๊ตฌ์ฑ๋๋ฉฐ, ๋
ธ๋ ๊ฐ์ฒด์๋ ์ข
๋ฅ๊ฐ ์๊ณ ์์ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง๋ค.
+
+![](https://velog.velcdn.com/images/bluecoolgod80/post/3eb5d3da-5551-4b51-ae28-7206c67f51d5/image.png)
+
+๋
ธ๋ ๊ฐ์ฒด๋ ์ด 12๊ฐ์ ์ข
๋ฅnode type๊ฐ ์๋ค. ์ด ์ค์์๋ ์ค์ํ ๋
ธ๋ ํ์
๋ค ๊ฐ์ง๊ฐ ์๋๋ฐ, ๊ทธ ์ข
๋ฅ๋ ์๋์ ๊ฐ๋ค. ๐
+
+#### โจ ๋ฌธ์ ๋
ธ๋document node
+
+> ๋ฌธ์ ๋
ธ๋๋ **DOM ํธ๋ฆฌ์ ์ต์์์ ์กด์ฌํ๋ ๋ฃจํธ ๋
ธ๋๋ก์ document ๊ฐ์ฒด๋ฅผ ๊ฐ๋ฆฌํจ๋ค.** document ๊ฐ์ฒด๋ ๋ธ๋ผ์ฐ์ ๊ฐ ๋ ๋๋งํ HTML ๋ฌธ์ ์ ์ฒด๋ฅผ ๊ฐ๋ฆฌํค๋ฉฐ, ์ ์ญ ๊ฐ์ฒด window์ document ํ๋กํผํฐ์ ๋ฐ์ธ๋ฉ๋์ด ์๋ค. _๋ธ๋ผ์ฐ์ ํ๊ฒฝ์ ๋ชจ๋ ์๋ฐ์คํฌ๋ฆฝํธ ์ฝ๋๋ ํ๋์ ์ ์ญ ๊ฐ์ฒด window๋ฅผ ๊ณต์ ํ๋ฏ๋ก HTML ๋ฌธ์๋น document ๊ฐ์ฒด๋ ์ ์ผํ๋ค._
+
+๋ฌธ์ ๋
ธ๋๋ DOM ํธ๋ฆฌ์ ๋ฃจํธ ๋
ธ๋์ด๋ฏ๋ก DOM ํธ๋ฆฌ์ ๋
ธ๋๋ค์ ์ ๊ทผํ๊ธฐ ์ํ ์ง์
์ entry point ์ญํ ์ ๋ด๋นํ๊ธฐ ๋๋ฌธ์, ์์, ์ดํธ๋ฆฌ๋ทฐํธ, ํ
์คํธ ๋
ธ๋์ ์ ๊ทผํ๋ ค๋ฉด ๋ฌธ์ ๋
ธ๋๋ฅผ ํตํด์ผ ํ๋ค.
+
+#### โจ ์์ ๋
ธ๋element node
+
+> ์์ ๋
ธ๋๋ **HTML ์์๋ฅผ ๊ฐ๋ฆฌํค๋ ๊ฐ์ฒด๋ค.** ์์ ๋
ธ๋๋ HTML ๊ฐ์ ์ค์ฒฉ์ ์ํด ๋ถ์ ๊ด๊ณ๋ฅผ ๊ฐ์ง๋ฉฐ, ์ด ๋ถ์ ๊ด๊ณ๋ฅผ ํตํด ์ ๋ณด๋ฅผ ๊ตฌ์กฐํํ๋ฏ๋ก _์์ ๋
ธ๋๋ ๋ฌธ์์ ๊ตฌ์กฐ๋ฅผ ํํํ๋ค๊ณ ํ ์ ์๋ค._
+
+#### โจ ์ดํธ๋ฆฌ๋ทฐํธ ๋
ธ๋attribute node
+
+> ์ดํธ๋ฆฌ๋ทฐํธ ๋
ธ๋๋ **HTML ์์์ ์ดํธ๋ฆฌ๋ทฐํธ๋ฅผ ๊ฐ๋ฆฌํค๋ ๊ฐ์ฒด๋ก,** ์ดํธ๋ฆฌ๋ทฐํธ๊ฐ ์ง์ ๋ HTML ์์์ ์์ ๋
ธ๋์ ์ฐ๊ฒฐ๋์ด ์๋ค.
+
+์ดํธ๋ฆฌ๋ทฐํธ ๋
ธ๋๋ ๋ถ๋ชจ ๋
ธ๋์ ์ฐ๊ฒฐ๋์ด ์์ง ์๊ณ ์์ ๋
ธ๋์๋ง ์ฐ๊ฒฐ๋์ด ์์ด ๋ถ๋ชจ ๋
ธ๋๊ฐ ์์ผ๋ฏ๋ก, ์์ ๋
ธ๋์ ํ์ ๋
ธ๋sibling node๋ ์๋๋ค. ๋ฐ๋ผ์ ์ดํธ๋ฆฌ๋ทฐํธ ๋
ธ๋์ ์ ๊ทผํด ์ดํธ๋ฆฌ๋ทฐํธ๋ฅผ ์ฐธ์กฐ/๋ณ๊ฒฝํ๋ ค๋ฉด ๋จผ์ ์์ ๋
ธ๋์ ์ ๊ทผํด์ผ ํ๋ค! ๐
+
+#### โจ ํ
์คํธ ๋
ธ๋text node
+
+> ํ
์คํธ ๋
ธ๋๋ **HTML ์์์ ํ
์คํธ๋ฅผ ๊ฐ๋ฆฌํค๋ ๊ฐ์ฒด๋ก,** _๋ฌธ์์ ์ ๋ณด๋ฅผ_ ํํํ๋ค.
+
+ํ
์คํธ ๋
ธ๋๋ ์์ ๋
ธ๋์ ์์์ด๋ฉฐ, ์์ ๋
ธ๋๋ฅผ ๊ฐ์ง ์ ์๋ ๋ฆฌํ ๋
ธ๋leaf node๋ค. ์ฆ, ํ
์คํธ ๋
ธ๋๋ DOM ํธ๋ฆฌ์ ์ต์ข
๋จ์ผ๋ก, ํ
์คํธ ๋
ธ๋์ ์ ๊ทผํ๋ ค๋ฉด ๋จผ์ ๋ถ๋ชจ ๋
ธ๋์ธ ์์ ๋
ธ๋์ ์ ๊ทผํด์ผ ํ๋ค.
+
+### ๐ญ 3. ๋
ธ๋ ๊ฐ์ฒด์ ์์ ๊ตฌ์กฐ
+
+> **DOM์ HTML ๋ฌธ์์ ๊ณ์ธต์ ๊ตฌ์กฐ์ ์ ๋ณด๋ฅผ ํํํ๋ ๊ฒ์ ๋ฌผ๋ก ๋
ธ๋ ๊ฐ์ฒด์ ์ข
๋ฅ์ ๋ฐ๋ผ ํ์ํ ๊ธฐ๋ฅ์ ํ๋กํผํฐ์ ๋ฉ์๋์ ์งํฉ์ธ DOM APIApplication Programming Interface๋ก ์ ๊ณตํ๋ค. ์ด DOM API๋ฅผ ํตํด HTML์ ๊ตฌ์กฐ๋ ๋ด์ฉ ๋๋ ์คํ์ผ ๋ฑ์ ๋์ ์ผ๋ก ์กฐ์ํ ์ ์๋ค.**
+
+DOM์ ๊ตฌ์ฑํ๋ ๋
ธ๋ ๊ฐ์ฒด๋ ๋ธ๋ผ์ฐ์ ํ๊ฒฝ์์ ์ถ๊ฐ์ ์ผ๋ก ์ ๊ณตํ๋ ํธ์คํธ ๊ฐ์ฒดhost objects์ง๋ง, ๋
ธ๋ ๊ฐ์ฒด๋ ์๋ฐ์คํฌ๋ฆฝํธ ๊ฐ์ฒด์ด๋ฏ๋ก ํ๋กํ ํ์
์ ์ํ ์์ ๊ตฌ์กฐ๋ฅผ ๊ฐ๋๋ค.
+
+๋ชจ๋ ๋
ธ๋ ๊ฐ์ฒด๋ Object, EventTarge, Node ์ธํฐํ์ด์ค๋ฅผ ์์๋ฐ๋๋ค. ์ถ๊ฐ์ ์ผ๋ก ๋ฌธ์ ๋
ธ๋๋ `Document`, `HTMLDocument`๋ฅผ, ์ดํธ๋ฆฌ๋ทฐํธ ๋
ธ๋๋ `Attr`, ํ
์คํธ ๋
ธ๋๋ `CharacterData` ์ธํฐํ์ด์ค๋ฅผ ๊ฐ๊ฐ ์์๋ฐ๋๋ค. ์์ ๋
ธ๋๋ `Element` ์ธํฐํ์ด์ค๋ฅผ ์์๋ฐ์ผ๋ฉฐ, ์ถ๊ฐ์ ์ผ๋ก ์ธ๋ถํ๋ ์ธํฐํ์ด์ค๋ฅผ ์์๋ฐ๋๋ค. ๐
+
+![](https://velog.velcdn.com/images/bluecoolgod80/post/68278ac2-2a08-4865-9792-4cdb7a69de13/image.png)
+
+input ์์ ๋
ธ๋ ๊ฐ์ฒด๋ ์๋ ๊ทธ๋ฆผ์ฒ๋ผ ํ๋กํ ํ์
์ฒด์ธ์ ์๋ ๋ชจ๋ ํ๋กํ ํ์
์ ํ๋กํผํฐ๋ ๋ฉ์๋๋ฅผ ์์๋ฐ์ ์ฌ์ฉํ ์ ์๋ค. ๋ฐฐ์ด์ด ๊ฐ์ฒด์ธ ๋์์ ๋ฐฐ์ด์ธ ๊ฒ์ฒ๋ผ input ์์ ๋
ธ๋ ๊ฐ์ฒด๋ ๋ค์ํ ํน์ฑ์ ๊ฐ๋ ๊ฐ์ฒด์ด๋ฉฐ, ์ด๋ฌํ ํน์ฑ์ ๋ํ๋ด๋ ๊ธฐ๋ฅ๋ค์ ์์์ ํตํด ์ ๊ณต๋ฐ๋๋ค.
+
+![](https://velog.velcdn.com/images/bluecoolgod80/post/9239da6e-1d54-4b17-8467-657673c53fc2/image.png)
+
+| input ์์ ๋
ธ๋ ๊ฐ์ฒด์ ํน์ฑ | ํ๋กํ ํ์
์ ์ ๊ณตํ๋ ๊ฐ์ฒด |
+| -------------------------------------------------------------------------- | -------------------------- |
+| ๊ฐ์ฒด | Object |
+| ์ด๋ฒคํธ๋ฅผ ๋ฐ์์ํค๋ ๊ฐ์ฒด | EventTarget |
+| ํธ๋ฆฌ ์๋ฃ๊ตฌ์กฐ์ ๋
ธ๋ ๊ฐ์ฒด | Node |
+| ๋ธ๋ผ์ฐ์ ๊ฐ ๋ ๋๋งํ ์ ์๋ ์น ๋ฌธ์์ ์์(HTML, XML, SVG)๋ฅผ ํํํ๋ ๊ฐ์ฒด | Element |
+| ์น ๋ฌธ์์ ์์ ์ค์์ HTML ์์๋ฅผ ํํํ๋ ๊ฐ์ฒด | HTMLElement |
+| HTML ์์ ์ค์์ input ์์๋ฅผ ํํํ๋ ๊ฐ์ฒด | HTMLInputElement |
+
+## ๐ REFERENCE
+
+๋ชจ๋ ์๋ฐ์คํฌ๋ฆฝํธ Deep Dive 39์ฅ DOM