--- 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)|์ธํ„ฐํŽ˜์ด์Šค ๋ถ„๋ฆฌ ์›์น™ (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|SOLID Principles]], [[แ„€แ…ชแ†ซแ„‰แ…ตแ†ทแ„‰แ…กแ„‹แ…ด แ„‡แ…ฎแ†ซแ„…แ…ต (Separation of Concerns SoC)|Separation of Concerns (SoC)]], Object-Oriented Programming (OOP) - **Projects/Contexts:** [[Clean Architecture|Clean Architecture]], Software System Design - **Contradictions/Notes:** ์ฃผ์–ด์ง„ ์†Œ์Šค ๋‚ด์—์„œ ์ธํ„ฐํŽ˜์ด์Šค ๋ถ„๋ฆฌ ์›์น™์— ๋Œ€ํ•œ ๋ชจ์ˆœ๋œ ์ฃผ์žฅ์€ ๋ฐœ๊ฒฌ๋˜์ง€ ์•Š์œผ๋ฉฐ, ๋ชจ๋“  ์†Œ์Šค๊ฐ€ ์ด ์›์น™์ด ๊ด€์‹ฌ์‚ฌ์˜ ๋ถ„๋ฆฌ(SoC) ๊ฐœ๋…์— ๋ฟŒ๋ฆฌ๋ฅผ ๋‘๊ณ  ์žˆ์œผ๋ฉฐ ๋ชจ๋“ˆ์„ฑ๊ณผ ์‹œ์Šคํ…œ ์œ ์—ฐ์„ฑ์„ ํ–ฅ์ƒ์‹œํ‚จ๋‹ค๋Š” ์ ์— ๋™์˜ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. --- *Last updated: 2026-04-18* - Raw Source: 00_Raw/2026-04-20/์ธํ„ฐํŽ˜์ด์Šค ๋ถ„๋ฆฌ ์›์น™ (Interface Segregation Principle).md ---