# [[Render Tree]] ## πŸ“Œ Brief Summary λ Œλ” 트리(Render Tree)λŠ” μ›Ή λΈŒλΌμš°μ €μ˜ λ Œλ”λ§ κ³Όμ •μ—μ„œ DOM(λ¬Έμ„œ 객체 λͺ¨λΈ)κ³Ό CSSOM(CSS 객체 λͺ¨λΈ)이 κ²°ν•©ν•˜μ—¬ λ§Œλ“€μ–΄μ§€λŠ” κ΅¬μ‘°μž…λ‹ˆλ‹€ [1-3]. 이 νŠΈλ¦¬λŠ” 화면에 μ‹œκ°μ μœΌλ‘œ 좜λ ₯λ˜μ–΄μ•Ό ν•˜λŠ” λ…Έλ“œλ“€κ³Ό ν•΄λ‹Ή λ…Έλ“œλ“€μ˜ κ³„μ‚°λœ μŠ€νƒ€μΌ μ •λ³΄λ§Œμ„ ν¬ν•¨ν•©λ‹ˆλ‹€ [3-5]. μ™„μ„±λœ λ Œλ” νŠΈλ¦¬λŠ” 이후 ν™”λ©΄μ—μ„œ 각 μš”μ†Œμ˜ μ •ν™•ν•œ μœ„μΉ˜μ™€ 크기λ₯Ό κ³„μ‚°ν•˜λŠ” λ ˆμ΄μ•„μ›ƒ(Layout) 단계와 μ‹€μ œ 픽셀을 κ·Έλ¦¬λŠ” 페인트(Paint) λ‹¨κ³„μ˜ 핡심 μž…λ ₯ λ°μ΄ν„°λ‘œ μ‚¬μš©λ©λ‹ˆλ‹€ [1, 6, 7]. ## πŸ“– Core Content * **생성 κ³Όμ •:** λΈŒλΌμš°μ €λŠ” DOM 트리의 λ£¨νŠΈμ—μ„œλΆ€ν„° μ‹œμž‘ν•˜μ—¬ 화면에 ν‘œμ‹œλ˜λŠ”(visible) 각 λ…Έλ“œλ₯Ό μˆœνšŒν•˜λ©° λ Œλ” 트리λ₯Ό κ΅¬μ„±ν•©λ‹ˆλ‹€ [3, 5, 8]. 화면에 ν‘œμ‹œλ˜λŠ” 각각의 λ…Έλ“œμ— λŒ€ν•΄ λΈŒλΌμš°μ €λŠ” CSSOMμ—μ„œ μΌμΉ˜ν•˜λŠ” μ μ ˆν•œ κ·œμΉ™μ„ μ°Ύμ•„ μ μš©ν•˜λ©°, μ΅œμ’…μ μœΌλ‘œ μ½˜ν…μΈ μ™€ κ³„μ‚°λœ μŠ€νƒ€μΌμ„ ν•¨κ»˜ ν¬ν•¨ν•˜λŠ” λ Œλ” 트리λ₯Ό μ™„μ„±ν•©λ‹ˆλ‹€ [4, 5]. * **포함 및 μ œμ™Έ μš”μ†Œμ˜ κΈ°μ€€:** λ Œλ” νŠΈλ¦¬λŠ” μ‹œκ°μ  λ ˆμ΄μ•„μ›ƒμ— 영ν–₯을 λ―ΈμΉ˜λŠ” μš”μ†Œλ“€λ§Œ ν¬ν•¨ν•©λ‹ˆλ‹€ [1]. λ”°λΌμ„œ ``, `