--- id: [[P-Reinforce|P-Reinforce]]-AI-FACTORY category: "10_Wiki/πŸ’‘ Topics/AI" confidence_score: 1.00 tags: [DesignPatterns, Factory, OOP, Abstraction] last_reinforced: 2026-04-20 --- # [[Factory-Pattern|Factory-Pattern]] (νŒ©ν† λ¦¬ νŒ¨ν„΄) ## πŸ“Œ ν•œ 쀄 톡찰 (The Karpathy Summary) > "객체 생성을 μ „λ‹΄ν•˜λŠ” λŒ€λ¦¬μΈ." μ–΄λ–€ ꡬ체적인 클래슀의 μΈμŠ€ν„΄μŠ€λ₯Ό λ§Œλ“€μ§€ κ²°μ •ν•˜λŠ” λ‘œμ§μ„ λ³„λ„μ˜ κ°μ²΄λ‚˜ λ©”μ„œλ“œλ‘œ λΆ„λ¦¬ν•˜μ—¬, ν΄λΌμ΄μ–ΈνŠΈ μ½”λ“œκ°€ 생성 λ°©μ‹μ˜ λ³€ν™”λ‘œλΆ€ν„° μžμœ λ‘œμ›Œμ§€κ²Œ ν•˜λŠ” νŒ¨ν„΄μ΄λ‹€. ## πŸ“– κ΅¬μ‘°ν™”λœ 지식 (Synthesized Content) - **Simple Factory**: μž…λ ₯값에 따라 λ‹€λ₯Έ μžμ‹ 객체λ₯Ό μƒμ„±ν•˜μ—¬ 리턴함. - **Factory Method**: 상속을 톡해 μ–΄λ–€ 객체λ₯Ό 생성할지 μ„œλΈŒν΄λž˜μŠ€κ°€ κ²°μ •ν•˜κ²Œ 함. - **Abstract Factory**: μ—°κ΄€λœ κ°μ²΄λ“€μ˜ 'κ΅°(Family)'을 μƒμ„±ν•˜κΈ° μœ„ν•œ μΈν„°νŽ˜μ΄μŠ€λ₯Ό μ œκ³΅ν•¨ (예: 닀크 ν…Œλ§ˆμš© λ²„νŠΌκ³Ό μž…λ ₯μ°½ μ„ΈνŠΈ). - **Core Benefit**: **Decoupling**. `new` ν‚€μ›Œλ“œλ₯Ό ν•œκ³³μ—μ„œ κ΄€λ¦¬ν•˜λ―€λ‘œ, λ‚˜μ€‘μ— κ΅¬ν˜„μ²΄κ°€ λ°”λ€Œμ–΄λ„ μ‚¬μš©ν•˜λŠ” μͺ½ μ½”λ“œλŠ” μ „ν˜€ μˆ˜μ •ν•  ν•„μš”κ°€ μ—†λ‹€. ## ⚠️ λͺ¨μˆœ 및 μ—…λ°μ΄νŠΈ (RL Update) - νŒ©ν† λ¦¬ νŒ¨ν„΄μ€ μ½”λ“œμ˜ μœ μ—°μ„±μ„ λ†’μ΄μ§€λ§Œ, λ‹¨μˆœν•œ 객체 생성에도 νŒ©ν† λ¦¬λ₯Ό λ„μž…ν•˜λ©΄ 클래슀 μˆ˜κ°€ λ§Žμ•„μ§€κ³  ꡬ쑰가 λ³΅μž‘ν•΄μ§€λŠ” '클래슀 폭발'을 μœ λ°œν•  수 μžˆλ‹€. 객체 생성 둜직이 λ³΅μž‘ν•˜κ±°λ‚˜ νƒ€μž…μ— 따라 λΆ„κΈ°κ°€ λΉˆλ²ˆν•  λ•Œλ§Œ μ„ νƒμ μœΌλ‘œ μ‚¬μš©ν•˜λŠ” 것이 μ’‹λ‹€. ## πŸ”— 지식 μ—°κ²° (Graph) - Related: [[Dependency-Injection|Dependency-Injection]] , Abstract-Factory-Pattern - Concept: Encapsulation