--- id: [[P-Reinforce|P-Reinforce]]-AI-ISP category: "10_Wiki/πŸ’‘ Topics/AI" confidence_score: 0.99 tags: [SoftwareEngineering, SOLID, ISP, CleanCode] last_reinforced: 2026-04-20 --- # [[Interface-Segregation-Principle|Interface-Segregation-Principle]] (μΈν„°νŽ˜μ΄μŠ€ 뢄리 원칙) ## πŸ“Œ ν•œ 쀄 톡찰 (The Karpathy Summary) > "쓰지도 μ•ŠλŠ” κΈ°λŠ₯이 λ‹΄κΈ΄ κ±°λŒ€ν•œ 리λͺ¨μ»¨μ€ ν•„μš” μ—†λ‹€." μžμ‹ μ΄ μ‚¬μš©ν•˜μ§€ μ•ŠλŠ” λ©”μ„œλ“œμ— μ˜μ‘΄ν•˜λ„λ‘ κ°•μ œν•΄μ„œλŠ” μ•ˆ 되며, μΈν„°νŽ˜μ΄μŠ€λŠ” ꡬ체적이고 μž‘κ²Œ μͺΌκ°œμ Έμ•Ό ν•œλ‹€λŠ” 원칙이닀. ## πŸ“– κ΅¬μ‘°ν™”λœ 지식 (Synthesized Content) - **The Core Problem**: ν•˜λ‚˜μ˜ κ±°λŒ€ν•œ μΈν„°νŽ˜μ΄μŠ€(Fat Interface)λ₯Ό μ—¬λŸ¬ ν΄λž˜μŠ€κ°€ μƒμ†ν•˜λ©΄, μ–΄λ–€ ν΄λž˜μŠ€λŠ” ν•„μš” μ—†λŠ” κΈ°λŠ₯κΉŒμ§€ κ΅¬ν˜„(보톡 빈 λ©”μ„œλ“œλ‘œ 방치)ν•΄μ•Ό ν•˜λŠ” λ¬Έμ œκ°€ 생김. - **The [[Solution|Solution]]**: ν΄λΌμ΄μ–ΈνŠΈ μ „μš© μΈν„°νŽ˜μ΄μŠ€λ‘œ μͺΌκ° λ‹€. (예: `SmartDevice` λŒ€μ‹  `Printer`, `Scanner`, `Fax` μΈν„°νŽ˜μ΄μŠ€λ‘œ 뢄리) - **Result**: νŠΉμ • κΈ°λŠ₯의 μš”κ΅¬μ‚¬ν•­μ΄ λ°”λ€Œμ–΄λ„, κ·Έ κΈ°λŠ₯을 μ“°μ§€ μ•ŠλŠ” λ‹€λ₯Έ ν΄λž˜μŠ€λ“€μ€ μ „ν˜€ 영ν–₯(재컴파일 λ“±)을 λ°›μ§€ μ•ŠλŠ”λ‹€. ## ⚠️ λͺ¨μˆœ 및 μ—…λ°μ΄νŠΈ (RL Update) - μΈν„°νŽ˜μ΄μŠ€λ₯Ό λ„ˆλ¬΄ 잘게 μͺΌκ°œλ©΄ μΈν„°νŽ˜μ΄μŠ€ μˆ˜κ°€ ν­λ°œν•˜μ—¬ 관리가 νž˜λ“€μ–΄μ§€λŠ” νŠΈλ ˆμ΄λ“œμ˜€ν”„κ°€ μžˆλ‹€. λ”°λΌμ„œ '응집도'와 'ν΄λΌμ΄μ–ΈνŠΈμ˜ ν•„μš”' μ‚¬μ΄μ—μ„œ κ· ν˜•μ„ μž‘μ•„μ•Ό ν•œλ‹€. νƒ€μž…μŠ€ν¬λ¦½νŠΈμ™€ 같은 ν˜„λŒ€ μ–Έμ–΄μ—μ„œλŠ” μΈν„°νŽ˜μ΄μŠ€ 상속과 ꡐ차 νƒ€μž…(`&`)을 ν™œμš©ν•΄ ν•„μš”ν•œ κΈ°λŠ₯만 μœ μ—°ν•˜κ²Œ μ‘°ν•©ν•˜λŠ” λ°©μ‹μœΌλ‘œ ISPλ₯Ό μŠ€λ§ˆνŠΈν•˜κ²Œ μ μš©ν•œλ‹€. ## πŸ”— 지식 μ—°κ²° (Graph) - Related: SOLID-[[Principles|Principles]] , Single-Responsibility-Principle (SRP) - Technique: Role-Interface