# [[Class Components]] ## πŸ“Œ Brief Summary 클래슀 μ»΄ν¬λ„ŒνŠΈ(Class Components)λŠ” JavaScript 클래슀 문법을 μ‚¬μš©ν•˜μ—¬ μž‘μ„±λœ κ³Όκ±° React의 μ£Όμš” μ»΄ν¬λ„ŒνŠΈ ν˜•νƒœμž…λ‹ˆλ‹€. μ˜€λŠ˜λ‚ μ˜ React 개발 μƒνƒœκ³„λŠ” λŒ€λΆ€λΆ„ ν•¨μˆ˜ν˜• μ»΄ν¬λ„ŒνŠΈλ‘œ μ „ν™˜λ˜μ—ˆμœΌλ‚˜, νŠΉμ • κΈ°λŠ₯을 κ΅¬ν˜„ν•˜κΈ° μœ„ν•΄ μ—¬μ „νžˆ 일뢀 μ‚¬μš©λ©λ‹ˆλ‹€. κ°€μž₯ λŒ€ν‘œμ μœΌλ‘œ μžμ‹ μ»΄ν¬λ„ŒνŠΈ 트리의 λ Œλ”λ§ μ—λŸ¬λ₯Ό ν¬μ°©ν•˜κ³  μ²˜λ¦¬ν•˜λŠ” 'μ—λŸ¬ λ°”μš΄λ”λ¦¬(Error Boundaries)'λŠ” 였직 클래슀 μ»΄ν¬λ„ŒνŠΈλ‘œλ§Œ κ΅¬ν˜„ν•  수 μžˆμŠ΅λ‹ˆλ‹€ [1-4]. ## πŸ“– Core Content * **ν•¨μˆ˜ν˜• μ»΄ν¬λ„ŒνŠΈλ‘œμ˜ μ „ν™˜ 및 λ¦¬νŒ©ν† λ§:** ν˜„λŒ€μ˜ ν”„λ‘ νŠΈμ—”λ“œ 업계 ν‘œμ€€μ€ 클래슀 기반 Reactμ—μ„œ ν•¨μˆ˜ν˜• React둜 μ „ν™˜λ˜μ—ˆμŠ΅λ‹ˆλ‹€ [1]. μ΅œμ‹  Reactμ—μ„œλŠ” 클래슀 상속과 같은 객체 μ§€ν–₯ ν”„λ‘œκ·Έλž˜λ°(OOP) 방식이 거의 μ‚¬μš©λ˜μ§€ μ•ŠμœΌλ©°, ν•¨μˆ˜ν˜• 접근법이 μ„ ν˜Έλ©λ‹ˆλ‹€ [5]. 이에 따라 λ ˆκ±°μ‹œ React μ½”λ“œλ² μ΄μŠ€λ₯Ό λ¦¬νŒ©ν† λ§ν•  λ•Œ κ°€μž₯ μš°μ„ μ μœΌλ‘œ κ³ λ €λ˜λŠ” μž‘μ—… 쀑 ν•˜λ‚˜κ°€ 기쑴의 클래슀 기반 μ»΄ν¬λ„ŒνŠΈλ₯Ό ν•¨μˆ˜ν˜• μ»΄ν¬λ„ŒνŠΈ 및 ν›…(Hooks)으둜 λ§ˆμ΄κ·Έλ ˆμ΄μ…˜ν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€ [4]. * **μ—λŸ¬ λ°”μš΄λ”λ¦¬(Error Boundaries)λ‘œμ„œμ˜ ν•„μˆ˜μ  μ—­ν• :** λŒ€λΆ€λΆ„μ˜ κΈ°λŠ₯이 ν•¨μˆ˜ν˜• μ»΄ν¬λ„ŒνŠΈλ‘œ λŒ€μ²΄λ˜μ—ˆμŒμ—λ„ λΆˆκ΅¬ν•˜κ³ , 클래슀 μ»΄ν¬λ„ŒνŠΈκ°€ λ°˜λ“œμ‹œ ν•„μš”ν•œ 고유 μ˜μ—­μ΄ μ‘΄μž¬ν•©λ‹ˆλ‹€. μ»΄ν¬λ„ŒνŠΈ 트리 ν•˜μœ„μ—μ„œ λ°œμƒν•˜λŠ” JavaScript μ—λŸ¬λ₯Ό ν¬μ°©ν•˜μ—¬ μ• ν”Œλ¦¬μΌ€μ΄μ…˜ 전체가 μ€‘λ‹¨λ˜λŠ” 것을 λ§‰μ•„μ£ΌλŠ” 'μ—λŸ¬ λ°”μš΄λ”λ¦¬'λŠ” 였직 클래슀 μ»΄ν¬λ„ŒνŠΈλ‘œλ§Œ 생성할 수 μžˆμŠ΅λ‹ˆλ‹€ [3, 6]. * **라이프사이클 λ©”μ„œλ“œλ₯Ό ν†΅ν•œ μ—λŸ¬ 처리:** 클래슀 μ»΄ν¬λ„ŒνŠΈκ°€ μ—λŸ¬ λ°”μš΄λ”λ¦¬λ‘œ λ™μž‘ν•˜κΈ° μœ„ν•΄μ„œλŠ” νŠΉμ • 라이프사이클 λ©”μ„œλ“œ 쀑 ν•˜λ‚˜ 이상을 μ •μ˜ν•΄μ•Ό ν•©λ‹ˆλ‹€. μ—λŸ¬κ°€ λ°œμƒν–ˆμ„ λ•Œ κΉ¨μ§„ μ»΄ν¬λ„ŒνŠΈ 트리 λŒ€μ‹  폴백(fallback) UIλ₯Ό λ Œλ”λ§ν•˜λ €λ©΄ `static getDerivedStateFromError()` λ©”μ„œλ“œλ₯Ό μ‚¬μš©ν•˜λ©°, μ—λŸ¬μ— λŒ€ν•œ 상세 정보λ₯Ό 기둝(log)ν•˜λ €λ©΄ `componentDidCatch()` λ©”μ„œλ“œλ₯Ό μ‚¬μš©ν•©λ‹ˆλ‹€ [2, 6]. ## πŸ”— Knowledge Connections - **Related Topics:** [[Functional Components]], [[Error Boundaries]], [[React Hooks]], [[Refactoring]] - **Projects/Contexts:** [[λ ˆκ±°μ‹œ React μ½”λ“œλ² μ΄μŠ€ λ§ˆμ΄κ·Έλ ˆμ΄μ…˜]], [[React μ• ν”Œλ¦¬μΌ€μ΄μ…˜ μ˜ˆμ™Έ 및 μ—λŸ¬ 처리]] - **Contradictions/Notes:** μ „λ°˜μ μΈ μ½”λ“œλ² μ΄μŠ€ λ¦¬νŒ©ν† λ§ μ‹œμ—λŠ” 클래슀 μ»΄ν¬λ„ŒνŠΈλ₯Ό ν•¨μˆ˜ν˜• μ»΄ν¬λ„ŒνŠΈλ‘œ λ³€κ²½ν•  것을 κ°•λ ₯히 ꢌμž₯ν•˜μ§€λ§Œ [4], μ—λŸ¬ λ°”μš΄λ”λ¦¬λ₯Ό κ΅¬ν˜„ν•  λ•Œλ§ŒνΌμ€ 기술적 ν•œκ³„λ‘œ 인해 였직 클래슀 μ»΄ν¬λ„ŒνŠΈλ§Œ μ‚¬μš©ν•΄μ•Ό ν•œλ‹€λŠ” μ˜ˆμ™Έκ°€ μ‘΄μž¬ν•©λ‹ˆλ‹€ [3]. --- *Last updated: 2026-04-26*