--- id: [[P-Reinforce|P-Reinforce]]-AI-LOOSE-COUPLING category: "10_Wiki/πŸ’‘ Topics/AI" confidence_score: 0.99 tags: [SoftwareEngineering, [[Architecture|Architecture]], LooseCoupling, Flexibility] last_reinforced: 2026-04-20 --- # [[Loose-Coupling|Loose-Coupling]] (λŠμŠ¨ν•œ κ²°ν•©) ## πŸ“Œ ν•œ 쀄 톡찰 (The Karpathy Summary) > "λΆ€ν’ˆ ν•˜λ‚˜λ₯Ό κ°ˆμ•„ λΌμš΄λ‹€κ³  전체 기계가 λ©ˆμΆ”μ§€ μ•Šκ²Œ ν•˜λŠ” 격리 μˆ˜λ‹¨." ꡬ성 μš”μ†Œλ“€μ΄ μ„œλ‘œμ˜ λ‚΄λΆ€ κ΅¬ν˜„μ„ μ•Œμ§€ λͺ»ν•˜κ²Œ ν•˜κ³  ν‘œμ€€ν™”λœ μΈν„°νŽ˜μ΄μŠ€λ‘œλ§Œ μ†Œν†΅ν•˜κ²Œ ν•˜μ—¬, 독립적인 λ³€κ²½κ³Ό ν™•μž₯을 κ°€λŠ₯ν•˜κ²Œ ν•˜λŠ” μ„€κ³„μ˜ 핡심 미덕이닀. ## πŸ“– κ΅¬μ‘°ν™”λœ 지식 (Synthesized Content) - **Opposite**: **Tight Coupling** (ν•œ 곳을 고치면 μ‚¬λ°©μ—μ„œ μ—λŸ¬κ°€ λ‚˜λŠ” μŠ€νŒŒκ²Œν‹° μ½”λ“œ). - **Core Techniques**: - **Interface-based Programming**: ꡬ체 ν΄λž˜μŠ€κ°€ μ•„λ‹Œ 섀계도(Interface)에 보고함. - **Event-Driven**: λ©”μ‹œμ§€λ₯Ό λ˜μ Έλ‘κ³  λˆ„κ°€ λ°›μ„μ§€λŠ” μ‹ κ²½ μ“°μ§€ μ•ŠμŒ. - **Dependency Injection**: ν•„μš”ν•œ 도ꡬλ₯Ό 슀슀둜 λ§Œλ“€μ§€ μ•Šκ³  μ™ΈλΆ€μ—μ„œ κ³΅κΈ‰λ°›μŒ. - **Benefit**: **Parallel Development**(νŒ€ κ°„ 독립 μž‘μ—… κ°€λŠ₯), **TeStability**(κ°€μ§œ 객체둜 λŒ€μ²΄ 용이), **Maintenance**(μˆ˜μ • λ²”μœ„ κ΅­μ†Œν™”). ## ⚠️ λͺ¨μˆœ 및 μ—…λ°μ΄νŠΈ (RL Update) - λŠμŠ¨ν•œ 결합을 μΆ”κ΅¬ν•˜λ‹€ 보면 μ½”λ“œμ˜ 가독성이 λ–¨μ–΄μ§€κ³ (μΈν„°νŽ˜μ΄μŠ€λ₯Ό 따라 μ—¬λŸ¬ νŒŒμΌμ„ λ’€μ Έμ•Ό 함), μ‹œμŠ€ν…œ μ „μ²΄μ˜ 흐름을 ν•œλˆˆμ— νŒŒμ•…ν•˜κΈ° νž˜λ“  'κ°„μ ‘ν™”μ˜ μ €μ£Ό'에 빠질 수 μžˆλ‹€. 둜직이 μ•„μ£Ό λ‹¨μˆœν•˜λ‹€λ©΄ κ³Όλ„ν•œ κ²©λ¦¬λ³΄λ‹€λŠ” μ μ ˆν•œ 결합이 생산성에 더 λ‚˜μ„ 수 μžˆλ‹€λŠ” μ‹€μš©μ£Όμ˜μ  κ· ν˜•μ΄ ν•„μš”ν•˜λ‹€. ## πŸ”— 지식 μ—°κ²° (Graph) - Related: [[Dependency-Injection|Dependency-Injection]] , [[Inversion|Inversion]]-of-Control (IoC) - Fundamental: [[Modular-Programming|Modular-Programming]]