--- id: CS-OOP-001 category: "10_Wiki/๐Ÿ’ก Topics/AI" confidence_score: 1.0 tags: [programming, oop, inheritance, polymorphism, software-design] last_reinforced: 2026-04-26 --- # Inheritance and Polymorphism (์ƒ์†๊ณผ ๋‹คํ˜•์„ฑ) ## ๐Ÿ“Œ ํ•œ ์ค„ ํ†ต์ฐฐ (The Karpathy Summary) > "๋ถ€๋ชจ์˜ ์ž์‚ฐ์„ ๋ฌผ๋ ค๋ฐ›์•„ ์ง€์‹์„ ํ™•์žฅํ•˜๊ณ , ํ•˜๋‚˜์˜ ์ด๋ฆ„์œผ๋กœ ์ˆ˜๋งŒ ๊ฐ€์ง€์˜ ๋‹ค์ฑ„๋กœ์šด ํ–‰๋™์„ ์ˆ˜ํ–‰ํ•˜๋ผ" โ€” ์ฝ”๋“œ์˜ ์žฌ์‚ฌ์šฉ์„ฑ์„ ๊ทน๋Œ€ํ™”ํ•˜๋Š” ์ƒ์†(Inheritance)๊ณผ, ๋™์ผํ•œ ๋ฉ”์‹œ์ง€์— ๋Œ€ํ•ด ๊ฐ์ฒด๋งˆ๋‹ค ๋‹ค๋ฅด๊ฒŒ ๋ฐ˜์‘ํ•˜๋„๋ก ์„ค๊ณ„ํ•˜๋Š” ๋‹คํ˜•์„ฑ(Polymorphism)์„ ํ†ตํ•ด ์œ ์—ฐํ•˜๊ณ  ํ™•์žฅ ๊ฐ€๋Šฅํ•œ ์‹œ์Šคํ…œ์„ ๊ตฌ์ถ•ํ•˜๋Š” ๊ฐ์ฒด ์ง€ํ–ฅ์˜ ํ•ต์‹ฌ ์›๋ฆฌ. ## ๐Ÿ“– ๊ตฌ์กฐํ™”๋œ ์ง€์‹ (Synthesized Content) - **์ถ”์ถœ๋œ ํŒจํ„ด:** "Abstraction and Specialization" โ€” ๊ณตํ†ต๋œ ํŠน์„ฑ์„ ์ถ”์ƒ ํด๋ž˜์Šค๋‚˜ ์ธํ„ฐํŽ˜์ด์Šค๋กœ ์ •์˜ํ•˜๊ณ , ์ด๋ฅผ ์ƒ์†๋ฐ›์•„ ๊ตฌ์ฒด์ ์ธ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•จ์œผ๋กœ์จ ๋ณต์žกํ•œ ์‹œ์Šคํ…œ์˜ ๊ณ„์ธต ๊ตฌ์กฐ๋ฅผ ์ฒด๊ณ„ํ™”ํ•˜๋Š” ์„ค๊ณ„ ํŒจํ„ด. - **ํ•ต์‹ฌ ๊ฐœ๋…:** - **Inheritance:** ๊ธฐ์กด ํด๋ž˜์Šค(Parent)์˜ ํ•„๋“œ์™€ ๋ฉ”์„œ๋“œ๋ฅผ ์ƒˆ๋กœ์šด ํด๋ž˜์Šค(Child)๊ฐ€ ๋ฌผ๋ ค๋ฐ›์•„ ํ™•์žฅ. "Is-a" ๊ด€๊ณ„ ํ˜•์„ฑ. - **Polymorphism:** ํ•˜๋‚˜์˜ ๋ณ€์ˆ˜๋‚˜ ๋ฉ”์„œ๋“œ๊ฐ€ ์—ฌ๋Ÿฌ ํƒ€์ž…์„ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋Š” ์„ฑ์งˆ. ์˜ค๋ฒ„๋ผ์ด๋”ฉ(Overriding)๊ณผ ์˜ค๋ฒ„๋กœ๋”ฉ(Overloading)์„ ํ†ตํ•ด ์‹คํ˜„. - **์˜์˜:** ๊ฒฐํ•ฉ๋„(Coupling)๋ฅผ ๋‚ฎ์ถ”๊ณ  ์‘์ง‘๋„(Cohesion)๋ฅผ ๋†’์—ฌ, ์ฝ”๋“œ ํ•œ ๊ณณ์„ ์ˆ˜์ •ํ–ˆ์„ ๋•Œ ์‹œ์Šคํ…œ ์ „์ฒด์— ๋ฏธ์น˜๋Š” ์•…์˜ํ–ฅ์„ ์ตœ์†Œํ™”ํ•จ. ## โš ๏ธ ๋ชจ์ˆœ ๋ฐ ์—…๋ฐ์ดํŠธ (Contradictions & RL Update) - **๊ณผ๊ฑฐ ๋ฐ์ดํ„ฐ์™€์˜ ์ถฉ๋Œ:** ๊นŠ์€ ์ƒ์† ๊ณ„์ธต์ด ์˜คํžˆ๋ ค ์œ ์ง€๋ณด์ˆ˜๋ฅผ ์–ด๋ ต๊ฒŒ ๋งŒ๋“ ๋‹ค๋Š” ๋ฐ˜์„ฑ ํ•˜์—, ์ตœ๊ทผ์—๋Š” "์ƒ์†๋ณด๋‹ค ํ•ฉ์„ฑ(Composition over Inheritance)"์„ ์šฐ์„ ์‹œํ•˜๋Š” ์„ค๊ณ„ ์ฒ ํ•™์ด ๋Œ€๋‘๋จ. - **์ •์ฑ… ๋ณ€ํ™”:** Antigravity ํ”„๋กœ์ ํŠธ์˜ ์—์ด์ „ํŠธ ์Šคํ‚ฌ ์„ค๊ณ„ ์‹œ, ๊ธฐ๋ณธ ๊ธฐ๋Šฅ์„ ์ƒ์†๋ฐ›๋˜ ๊ตฌ์ฒด์ ์ธ ๋™์ž‘์€ ๋‹คํ˜•์„ฑ์„ ํ™œ์šฉํ•˜์—ฌ ๊ฐ ์—์ด์ „ํŠธ์˜ ํŠน์„ฑ์— ๋งž์ถฐ ๊ตฌํ˜„ํ•˜๋Š” 'ํ”Œ๋Ÿฌ๊ทธ์ธ ์•„ํ‚คํ…์ฒ˜'๋ฅผ ์ค€์ˆ˜ํ•จ. ## ๐Ÿ”— ์ง€์‹ ์—ฐ๊ฒฐ (Graph) - [[Software-Architecture-Patterns|Software-Architecture-Patterns]], [[Functional-Programming|Functional-Programming]], [[Domain-Driven-Design-DDD|Domain-Driven-Design-DDD]], System-Design-for-AI-Scale - **Raw Source:** 10_Wiki/Topics/AI/Inheritance-and-Polymorphism.md