--- id: CS-OOP-001 category: "10_Wiki/๐Ÿ’ก Topics/AI" confidence_score: 1.0 tags: [computer-science, software-engineering, oop, solid, encapsulation, design-patterns] last_reinforced: 2026-04-26 --- # Object-Oriented Programming (OOP, ๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ) ## ๐Ÿ“Œ ํ•œ ์ค„ ํ†ต์ฐฐ (The Karpathy Summary) > "๋ฐ์ดํ„ฐ์™€ ํ–‰์œ„๋ฅผ ํ•˜๋‚˜์˜ '๊ฐ์ฒด'๋ผ๋Š” ์œ ๊ธฐ์ฒด๋กœ ๋ฌถ๊ณ , ์ด๋“ค์˜ ์†Œํ†ต๊ณผ ์—ฐํ•ฉ์œผ๋กœ ๊ฑฐ๋Œ€ํ•˜๊ณ  ๊ฒฌ๊ณ ํ•œ ์†Œํ”„ํŠธ์›จ์–ด ์ œ๊ตญ์„ ๊ฑด์„คํ•˜๋ผ" โ€” ํ”„๋กœ๊ทธ๋žจ์„ ๋‹จ์ˆœํžˆ ๋ช…๋ น์–ด์˜ ๋‚˜์—ด์ด ์•„๋‹Œ ๋…๋ฆฝ๋œ ๋‹จ์œ„์ธ '๊ฐ์ฒด'๋“ค์˜ ์ง‘ํ•ฉ์œผ๋กœ ํŒŒ์•…ํ•˜์—ฌ ์œ ์—ฐ์„ฑ๊ณผ ์žฌ์‚ฌ์šฉ์„ฑ์„ ๊ทน๋Œ€ํ™”ํ•˜๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํŒจ๋Ÿฌ๋‹ค์ž„. ## ๐Ÿ“– ๊ตฌ์กฐํ™”๋œ ์ง€์‹ (Synthesized Content) - **์ถ”์ถœ๋œ ํŒจํ„ด:** "Modular Autonomy and Interface-based Contract" โ€” ๋‚ด๋ถ€์˜ ๊ตฌํ˜„ ์ƒ์„ธ๋Š” ๊ฐ์ถ”๊ณ (Encapsulation), ๊ณตํ†ต ๊ธฐ๋Šฅ์€ ๋ฌผ๋ ค๋ฐ›์œผ๋ฉฐ(Inheritance), ๋™์ผํ•œ ๋ฉ”์‹œ์ง€์—๋„ ๊ฐ์ž ๋‹ค๋ฅด๊ฒŒ ๋ฐ˜์‘(Polymorphism)ํ•˜๊ฒŒ ํ•จ์œผ๋กœ์จ ์ฝ”๋“œ ๊ฐ„์˜ ๊ฒฐํ•ฉ๋„๋ฅผ ๋‚ฎ์ถ”๊ณ  ๋ณ€ํ™”์— ๊ฐ•ํ•œ ๊ตฌ์กฐ๋ฅผ ๋งŒ๋“œ๋Š” ํŒจํ„ด. - **4๋Œ€ ํ•ต์‹ฌ ์›์น™:** - **Encapsulation (์บก์Аํ™”):** ๋ฐ์ดํ„ฐ์™€ ํ•จ์ˆ˜๋ฅผ ํ•˜๋‚˜๋กœ ๋ฌถ๊ณ  ์™ธ๋ถ€ ์ ‘๊ทผ์„ ์ œํ•œํ•˜์—ฌ ๋ฌด๊ฒฐ์„ฑ ๋ณดํ˜ธ. - **Inheritance (์ƒ์†):** ๊ธฐ์กด ํด๋ž˜์Šค์˜ ๊ธฐ๋Šฅ์„ ๋ฌผ๋ ค๋ฐ›์•„ ์žฌ์‚ฌ์šฉ ๋ฐ ํ™•์žฅ. - **Polymorphism (๋‹คํ˜•์„ฑ):** ํ•˜๋‚˜์˜ ์ธํ„ฐํŽ˜์ด์Šค๋กœ ์—ฌ๋Ÿฌ ํƒ€์ž…์˜ ๊ฐ์ฒด๋ฅผ ๋‹ค๋ฃฐ ์ˆ˜ ์žˆ๋Š” ๋Šฅ๋ ฅ. - **Abstraction (์ถ”์ƒํ™”):** ๋ณต์žกํ•œ ๋‚ด๋ถ€ ๋กœ์ง์€ ์ˆจ๊ธฐ๊ณ  ํ•ต์‹ฌ ์ธํ„ฐํŽ˜์ด์Šค๋งŒ ๋…ธ์ถœ. - **์˜์˜:** ๋Œ€๊ทœ๋ชจ ํ˜‘์—… ํ”„๋กœ์ ํŠธ์—์„œ ์ฝ”๋“œ์˜ ๊ฐ€๋…์„ฑ๊ณผ ์œ ์ง€๋ณด์ˆ˜์„ฑ์„ ๋ณด์žฅํ•˜๋Š” ํ˜„๋Œ€ ์†Œํ”„ํŠธ์›จ์–ด ๊ณตํ•™์˜ ๊ฐ€์žฅ ๊ฐ•๋ ฅํ•œ ์ง€๋ฐฐ์  ํŒจ๋Ÿฌ๋‹ค์ž„. ## โš ๏ธ ๋ชจ์ˆœ ๋ฐ ์—…๋ฐ์ดํŠธ (Contradictions & RL Update) - **๊ณผ๊ฑฐ ๋ฐ์ดํ„ฐ์™€์˜ ์ถฉ๋Œ:** ์ƒ์†์ด ๋งŒ๋Šฅ์ด๋ผ๋Š” ๋ฏฟ์Œ์—์„œ ๋ฒ—์–ด๋‚˜, ๊ณผ๋„ํ•œ ์ƒ์† ๊นŠ์ด๊ฐ€ ์ฝ”๋“œ๋ฅผ ๋” ๋ณต์žกํ•˜๊ฒŒ ๋งŒ๋“œ๋Š” ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด '์ƒ์†๋ณด๋‹ค๋Š” ํ•ฉ์„ฑ(Composition over Inheritance)'์„ ์ง€ํ–ฅํ•˜๋Š” ์‹ค๋ฌด์  ์ง€์นจ์ด ์ •๋ฆฝ๋จ. - **์ •์ฑ… ๋ณ€ํ™”:** Antigravity ํ”„๋กœ์ ํŠธ์˜ ๋ชจ๋“  ์—์ด์ „ํŠธ ์Šคํ‚ฌ๊ณผ ๋ฐ์ดํ„ฐ ํ•ธ๋“ค๋Ÿฌ๋Š” SOLID ์›์น™์„ ์ค€์ˆ˜ํ•˜๋Š” OOP ์•„ํ‚คํ…์ฒ˜๋กœ ์„ค๊ณ„๋˜์–ด ์žˆ์–ด, ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ ์ถ”๊ฐ€ ์‹œ ๊ธฐ์กด ์ฝ”๋“œ์˜ ์ˆ˜์ • ์—†์ด ํ™•์žฅ์ด ๊ฐ€๋Šฅํ•จ. ## ๐Ÿ”— ์ง€์‹ ์—ฐ๊ฒฐ (Graph) - [[Iterative-Development-Models|Iterative-Development-Models]], [[Microservices-Architecture|Microservices-Architecture]], System-Design-for-AI-Scale, Design-Patterns-in-AI - **Raw Source:** 10_Wiki/Topics/AI/Object-Oriented-Programming.md