--- id: P-REINFORCE-AUTO-FD8793 category: "10_Wiki/πŸ’‘ Topics/Design & Experience" confidence_score: 0.90 tags: [auto-reinforced] last_reinforced: 2026-04-20 github_commit: "[P-Reinforce] Continuous Worker - μΈν„°νŽ˜μ΄μŠ€ 뢄리 원칙 (Interface Segregation Principle)" --- # [[μΈν„°νŽ˜μ΄μŠ€ 뢄리 원칙 (Interface Segregation Principle)]] ## πŸ“Œ ν•œ 쀄 톡찰 (The Karpathy Summary) > μΈν„°νŽ˜μ΄μŠ€ 뢄리 원칙(ISP)은 객체 μ§€ν–₯ ν”„λ‘œκ·Έλž˜λ°(OOP)을 μœ„ν•œ 5κ°€μ§€ κΈ°λ³Έ 섀계 원칙인 SOLID 쀑 ν•˜λ‚˜λ‘œ, λ‘œλ²„νŠΈ C. λ§ˆν‹΄(Robert C. Martin)에 μ˜ν•΄ μ •λ¦½λ˜μ—ˆμŠ΅λ‹ˆλ‹€ [1-3]. 이 원칙은 ν΄λΌμ΄μ–ΈνŠΈκ°€ μžμ‹ μ΄ μ‚¬μš©ν•˜μ§€ μ•ŠλŠ” μΈν„°νŽ˜μ΄μŠ€μ— μ˜μ‘΄ν•˜λ„λ‘ κ°•μš”λ°›μ•„μ„œλŠ” μ•ˆ λœλ‹€λŠ” 것을 ν•΅μ‹¬μœΌλ‘œ ν•©λ‹ˆλ‹€ [2, 4]. 이λ₯Ό λ‹¬μ„±ν•˜κΈ° μœ„ν•΄ ν•˜λ‚˜μ˜ 크고 λ²”μš©μ μΈ μΈν„°νŽ˜μ΄μŠ€ λŒ€μ‹ , μž‘κ³  ꡬ체적이며 νŠΉν™”λœ μΈν„°νŽ˜μ΄μŠ€λ₯Ό μ—¬λŸ¬ 개 μ„€κ³„ν•˜λŠ” 것을 ꢌμž₯ν•©λ‹ˆλ‹€ [2, 4]. ## πŸ“– κ΅¬μ‘°ν™”λœ 지식 (Synthesized Content) * **핡심 κ°œλ… 및 κ΅¬ν˜„ 방식:** μΈν„°νŽ˜μ΄μŠ€ 뢄리 원칙은 ν΄λΌμ΄μ–ΈνŠΈκ°€ μžμ‹ μ˜ λͺ©μ μ„ λ‹¬μ„±ν•˜λŠ” 데 κΌ­ ν•„μš”ν•œ λ©”μ„œλ“œλ§Œ μ‚¬μš©ν•΄μ•Ό 함을 μ˜λ―Έν•©λ‹ˆλ‹€ [4]. 이λ₯Ό κ΅¬ν˜„ν•˜κΈ° μœ„ν•΄ κ°œλ°œμžλŠ” λ‹€λͺ©μ μ˜ 큰 μΈν„°νŽ˜μ΄μŠ€λ₯Ό κ΅¬μΆ•ν•˜λŠ” 것을 μ§€μ–‘ν•˜κ³ , λŒ€μ‹  역할이 μ œν•œλœ μž‘κ³  ꡬ체적인 μ „λ¬Έ μΈν„°νŽ˜μ΄μŠ€λ₯Ό μ—¬λŸ¬ 개 생성해야 ν•©λ‹ˆλ‹€ [2, 4]. * **μ‹œμŠ€ν…œ μ„€κ³„μ—μ„œμ˜ κΈ°λŒ€ 효과:** ν΄λΌμ΄μ–ΈνŠΈκ°€ λΆˆν•„μš”ν•œ μΈν„°νŽ˜μ΄μŠ€μ— μ˜μ‘΄ν•˜μ§€ μ•Šκ²Œ ν•¨μœΌλ‘œμ¨, μ½”λ“œ λ³€κ²½ μ‹œ λ°œμƒν•  수 μžˆλŠ” νŒŒκΈ‰ 효과(effects of changes)λ₯Ό μ΅œμ†Œν™”ν•˜κ³  μ‹œμŠ€ν…œμ˜ μœ μ—°μ„±μ„ 크게 높일 수 μžˆμŠ΅λ‹ˆλ‹€ [4]. ꢁ극적으둜 이 원칙은 더 λͺ¨λ“ˆν™”λ˜κ³  λŠμŠ¨ν•˜κ²Œ κ²°ν•©λœ(loosely coupled) μ‹œμŠ€ν…œμ„ μ„€κ³„ν•˜λŠ” 데 μ§μ ‘μ μœΌλ‘œ κΈ°μ—¬ν•©λ‹ˆλ‹€ [3]. * **κ΄€μ‹¬μ‚¬μ˜ 뢄리(SoC)μ™€μ˜ 관계:** μ†Œν”„νŠΈμ›¨μ–΄ 개발의 κ°€μž₯ 기본적이고 핡심적인 원칙 쀑 ν•˜λ‚˜μΈ 'κ΄€μ‹¬μ‚¬μ˜ 뢄리(Separation of Concerns, SoC)' κ°œλ…μ—μ„œ μ§μ ‘μ μœΌλ‘œ νŒŒμƒλœ 두 κ°€μ§€ SOLID 원칙 쀑 ν•˜λ‚˜κ°€ λ°”λ‘œ μΈν„°νŽ˜μ΄μŠ€ 뢄리 원칙(λ‚˜λ¨Έμ§€ ν•˜λ‚˜λŠ” 단일 μ±…μž„ 원칙)μž…λ‹ˆλ‹€ [5-7]. μ΄λŠ” λ³΅μž‘ν•œ μ‹œμŠ€ν…œμ„ 관리 κ°€λŠ₯ν•˜κ²Œ λΆ„ν•΄ν•˜κ³  λͺ¨λ“ˆμ„±μ„ ν–₯μƒμ‹œν‚€λŠ” 데 μžˆμ–΄ ν•΄λ‹Ή 원칙이 μ–Όλ§ˆλ‚˜ μ€‘μš”ν•œμ§€λ₯Ό λ³΄μ—¬μ€λ‹ˆλ‹€ [6, 7]. ## ⚠️ λͺ¨μˆœ 및 μ—…λ°μ΄νŠΈ (Contradictions & RL Update) - **κ³Όκ±° λ°μ΄ν„°μ™€μ˜ 좩돌:** μžλ™ν™” 엔진에 μ˜ν•΄ λ§€ν•‘λœ μ§€μ‹μœΌλ‘œ, μΆ”ν›„ μ •λ°€ 검증 ν•„μš”. - **μ •μ±… λ³€ν™”:** Design & Experience λΆ„μ•Όμ˜ μžλ™ μžμ‚°ν™” μˆ˜ν–‰. ## πŸ”— 지식 μ—°κ²° (Graph) - **Related Topics:** SOLID Principles, Separation of Concerns (SoC), Object-Oriented Programming (OOP) - **Projects/Contexts:** Clean Architecture, Software System Design - **Contradictions/Notes:** μ£Όμ–΄μ§„ μ†ŒμŠ€ λ‚΄μ—μ„œ μΈν„°νŽ˜μ΄μŠ€ 뢄리 원칙에 λŒ€ν•œ λͺ¨μˆœλœ μ£Όμž₯은 λ°œκ²¬λ˜μ§€ μ•ŠμœΌλ©°, λͺ¨λ“  μ†ŒμŠ€κ°€ 이 원칙이 κ΄€μ‹¬μ‚¬μ˜ 뢄리(SoC) κ°œλ…μ— 뿌리λ₯Ό 두고 있으며 λͺ¨λ“ˆμ„±κ³Ό μ‹œμŠ€ν…œ μœ μ—°μ„±μ„ ν–₯μƒμ‹œν‚¨λ‹€λŠ” 점에 λ™μ˜ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€. --- *Last updated: 2026-04-18* ---