--- id: P-REINFORCE-AI-GOD-OBJECT category: "10_Wiki/πŸ’‘ Topics/AI" confidence_score: 0.99 tags: [SoftwareEngineering, AntiPattern, CleanCode, Refactoring] last_reinforced: 2026-04-20 --- # [[God-Object-Antipattern]] (μ‹  객체 μ•ˆν‹°νŒ¨ν„΄) ## πŸ“Œ ν•œ 쀄 톡찰 (The Karpathy Summary) > "λͺ¨λ“  것을 μ•Œκ³ , λͺ¨λ“  것을 ν•˜λ €λ‹€ κ²°κ΅­ 아무것도 λͺ» ν•˜κ²Œ λ§Œλ“œλŠ” κ±°λŒ€ 클래슀의 μž¬μ•™." 단일 μ±…μž„ 원칙(SRP)을 λ¬΄μ‹œν•˜κ³  λ„ˆλ¬΄ λ§Žμ€ κΈ°λŠ₯을 ν•œ ν΄λž˜μŠ€μ— λͺ°μ•„λ„£μ–΄, μœ μ§€λ³΄μˆ˜κ°€ λΆˆκ°€λŠ₯ν•œ 'λΈ”λž™ν™€' 같은 μ½”λ“œλ₯Ό λ§Œλ“œλŠ” ν˜„μƒμ΄λ‹€. ## πŸ“– κ΅¬μ‘°ν™”λœ 지식 (Synthesized Content) - **Symptoms**: - 클래슀 이름이 `Manager`, `System`, `Controller`처럼 λ„ˆλ¬΄ ν¬κ΄„μ μž„. - μ†ŒμŠ€ μ½”λ“œ 쀄 μˆ˜κ°€ 수천 쀄을 λ„˜μ–΄κ°€λ©°, 거의 λͺ¨λ“  λ‹€λ₯Έ κΈ°λŠ₯κ³Ό μ—°κ²°λ˜μ–΄ 있음. - μž‘μ€ κΈ°λŠ₯ μˆ˜μ • ν•˜λ‚˜κ°€ 연쇄적인 λΆ€μž‘μš©(Side Effect)을 일으켜 ν…ŒμŠ€νŠΈκ°€ λΆˆκ°€λŠ₯함. - **Root Cause**: 초기 섀계가 λΆ€μ‘±ν•  λ•Œ, μƒˆλ‘œμš΄ κΈ°λŠ₯을 기쑴의 κ°€μž₯ 큰 곳에 μ‘€μ…” λ„£λŠ” '게으λ₯Έ 개발 μŠ΅κ΄€'μ—μ„œ 비둯됨. - **Solution**: λ‘œμ§μ„ κ΄€μ‹¬μ‚¬λ³„λ‘œ μͺΌκ°œμ–΄ 각각의 μ „λ¬Έ 클래슀둜 λΆ„λ¦¬ν•˜κ³ , 이듀을 μ‘°ν•©(Composition)ν•˜λŠ” λ°©μ‹μœΌλ‘œ λ¦¬νŒ©ν† λ§ν•΄μ•Ό ν•œλ‹€. ## ⚠️ λͺ¨μˆœ 및 μ—…λ°μ΄νŠΈ (RL Update) - λ•Œλ‘œλŠ” μ„±λŠ₯ μ΅œμ ν™”(μΊμ‹œ 히트율, ν•¨μˆ˜ 호좜 μ˜€λ²„ν—€λ“œ κ°μ†Œ)λ₯Ό μœ„ν•΄ μΌλΆ€λŸ¬ 데이터λ₯Ό λͺ¨μ•„λ‘λŠ” κ²½μš°κ°€ μžˆμœΌλ‚˜, μ΄λŠ” 극히 μ˜ˆμ™Έμ μΈ 상황이닀. ν˜„λŒ€μ˜ 가독성과 ν…ŒμŠ€νŠΈ 쀑심 개발 ν™˜κ²½μ—μ„œ 'μ‹  객체'λŠ” ν”„λ‘œμ νŠΈμ˜ 수λͺ…을 κ°‰μ•„λ¨ΉλŠ” 암적 쑴재둜 κ°„μ£Όλœλ‹€. ## πŸ”— 지식 μ—°κ²° (Graph) - Related: Single-Responsibility-Principle (SRP) , Cohesion-and-Coupling - Action: Refactoring-Techniques