μ€νΈλν°μ§ ν¨ν΄(μ λ΅ ν¨ν΄)
μ λ΅ ν¨ν΄μ μκ³ λ¦¬μ¦ κ΅°(familly)μ μ μνκ³ κ° μκ³ λ¦¬μ¦μ μΊ‘μννμ¬ μνΈ κ΅νν μ μλλ‘ νλ λμ λμμΈ ν¨ν΄μ
λλ€.
μ΄λ₯Ό ν΅ν΄ λ°νμμ μκ³ λ¦¬μ¦μ μ νν μ μμΌλ―λ‘ μ½λμ μ μ°μ±κ³Ό μ μμ±μ λμΌ μ μμ΅λλ€.
(μμ£Ό:μλ¬Έμ a family of algorithms, μ¦ λΉμ·ν μκ³ λ¦¬μ¦λΌλ¦¬ λ¬Άλλ€λ λ§)
ν΅μ¬ κ°λ
:
κ΄λ ¨ μκ³ λ¦¬μ¦ μΊ‘μν
μκ³ λ¦¬μ¦μ μνΈ κ΅ν κ°λ₯νκ² λ§λ€κΈ°
μ₯μ :
μκ³ λ¦¬μ¦ μ νμ μ μ°μ± ν₯μ
μκ³ λ¦¬μ¦μ μ½κ² κ΅μ²΄ν μ μμ
쑰건νμ μ½λ볡μ‘μ± κ°μ
μ μ€νΈλν°μ§ ν¨ν΄μ μ¨μΌνλκ°?
μ λ΅ ν¨ν΄μ νΉμ μμ μ λν΄ λ€μν μκ³ λ¦¬μ¦μ΄λ λμμ ꡬνν΄μΌ νκ³ λ°νμ μ€μ μ½κ² κ΅μ²΄νλ €λ μν©μ μ΄μμ μ λλ€.
μ΄ ν¨ν΄μ μ¬μ©νλ©΄ μλ‘μ΄ λμμ λ μ½κ² μΆκ°ν μ μκ³ μ½λλ₯Ό κΉλνκ³ μ μ§ κ΄λ¦¬νκΈ° μ½κ² μ μ§ν μ μμ΅λλ€.
ν©ν 리 ν¨ν΄(곡μ₯ ν¨ν΄)
ν©ν 리 ν¨ν΄μ μνΌν΄λμ€(SuperClass)μμ κ°μ²΄λ₯Ό μμ±νκΈ° μν μΈν°νμ΄μ€λ₯Ό μ 곡νμ¬ μλΈν΄λμ€κ° μΈμ€ν΄μ€νν ν΄λμ€λ₯Ό κ²°μ ν μ μλλ‘ νλ μμ± λμμΈ ν¨ν΄μ
λλ€.
μ΄ ν¨ν΄μ κ΄λ ¨ ν΄λμ€ μ§ν©μ΄ μκ³ , μμ±ν ν΄λμ€λ₯Ό λͺ
νν κΈ°μ
νμ§ μκ³ , ν΄λΉ ν΄λμ€μ μΈμ€ν΄μ€λ₯Ό μμ±νλ €λ κ²½μ°μ μ μ©ν©λλ€.
(μμ£Ό: μνΌν΄λμ€λ λΆλͺ¨ ν΄λμ€λΌκ³ 보면λ¨. λ€λ₯Έ ν΄λμ€κ° νμλλ ν΄λμ€)
ν΅μ¬ κ°λ
:
κ°μ²΄ μμ±μ μν μΈν°νμ΄μ€ μ μ
μΈμ€ν΄μ€νν ν΄λμ€λ₯Ό μλΈν΄λμ€κ° κ²°μ νλλ‘ ν¨
μ₯μ :
κ°μ²΄ μμ± μΊ‘μν
λμ¨ν κ²°ν© μ΄μ§
μ½λ μ¬μ¬μ©μ± λ° νμ₯μ± μ§μ
μ ν©ν 리 ν¨ν΄μ μ¬μ©νλκ°?
ν©ν 리 ν¨ν΄μ κ³΅ν΅ μΈν°νμ΄μ€λ λ² μ΄μ€ ν΄λμ€λ₯Ό 곡μ νλ μ μ΄λ μμ΄ν
κ³Ό κ°μ λ€μν μ νμ κ°μ²΄λ₯Ό λ§λ€μ΄μΌ ν λ νΉν μ μ©ν©λλ€.
κ°μ²΄ μμ± νλ‘μΈμ€λ₯Ό μΊ‘μννμ¬ μ½λλ₯Ό λ μ½κ² μ μ§ κ΄λ¦¬νκ³ νμ₯ν μ μλλ‘ λμμ€λλ€.
λ°μ½λ μ΄ν° ν¨ν΄
μ΄ ν¨ν΄μ κ°μ ν΄λμ€μ λ€λ₯Έ μΈμ€ν΄μ€μ μν₯μ μ£Όμ§ μκ³ κ°μ²΄μ κΈ°λ₯μ μΆκ°ν΄μΌ ν λ νΉν μ μ©ν©λλ€.
ν΅μ¬ κ°λ
:
κ°μ²΄μ λμ μΌλ‘ μλ‘μ΄ μ±
μ(responsibilities) λΆμ¬νκΈ°
μλ³Έ κ°μ²΄λ₯Ό μμ νμ§ μκ³ μ μ§
μ₯μ :
λ€λ₯Έ μΈμ€ν΄μ€μ μν₯μ μ£Όμ§ μκ³ κΈ°λ₯ μΆκ°
μ½λ μ¬μ¬μ©μ± μ₯λ €
μλΈν΄λμ±μ λν λμ μ 곡(Provide an alternative to subclassing)
(μμ£Ό:μλΈν΄λμ±μ΄ λ μλ―Ένλμ§ λͺ°λΌμ μλ¬Έ κ·Έλλ‘ κ°μ Έμ΄)
μ λ°μ½λ μ΄ν°λ₯Ό μ¨μΌνλκ°?
λ°μ½λ μ΄ν° ν¨ν΄μ μλ ꡬ쑰λ₯Ό λ³κ²½νκ±°λ λ€λ₯Έ μΈμ€ν΄μ€μ μν₯μ μ£Όμ§ μκ³ κ°μ²΄μ κΈ°λ₯μ νμ₯νκ³ μ ν λ μ μ©ν©λλ€.
νΉν λ°νμμ κ°μ²΄μ κΈ°λ₯μ μΆκ°νκ³ μ½λ μ¬μ¬μ©μ±μ λμ΄λ λ° μ μ©ν©λλ€.
μ€ν
μ΄νΈ ν¨ν΄
μν ν¨ν΄μ λ΄λΆ μνκ° λ³κ²½λ λ κ°μ²΄μ λμμ λ³κ²½ν μ μλλ‘ νλ λμ λμμΈ ν¨ν΄μ
λλ€.
μ΄ ν¨ν΄μ μ ν μν λ¨Έμ (FSM,finite state machines)μ κΉλνκ³ μ μ§ κ΄λ¦¬νκΈ° μ¬μ΄ λ°©μμΌλ‘ ꡬννλ λ° νΉν μ μ©ν©λλ€.
ν΅μ¬ κ°λ
:
μνλ₯Ό λ³λμ κ°μ²΄λ‘ μΊ‘μν
νμ¬ μνμ λ°λΌ κ°μ²΄ λμ λ³κ²½
μ₯μ :
μν κ°μ λμ¨ν κ²°ν© μ΄μ§
볡μ‘ν μν μ’
μ λ‘μ§ κ°μν
μλ‘μ΄ μνλ₯Ό μ½κ² μΆκ°ν μ μμ
μ μ€ν
μ΄νΈν¨ν΄μ μ¬μ©ν΄μΌνλκ°?
μ€ν
μ΄νΈ ν¨ν΄μ μΊλ¦ν° AIλ κ²μ μν μ νκ³Ό κ°μ΄ 볡μ‘ν μν μ’
μμ λμμ κ΄λ¦¬ν λ νΉν μ μ©ν©λλ€.
κ° μνλ₯Ό λ³λμ κ°μ²΄λ‘ μΊ‘μννλ©΄ μ½λκ° λ λͺ¨λνλκ³ μ μ§ κ΄λ¦¬κ° μ¬μμ§λ©° μλ‘μ΄ μνλ‘ νμ₯νκΈ°κ° λ μ¬μμ§λλ€.
κ²°λ‘
λμμΈ ν¨ν΄μ λ§μ€ν°νλ κ²μ λͺ¨λ κ²μ κ°λ°μμκ² νμμ μΈ κΈ°μ μ΄λ©°, νΉν Unityλ‘ μμ
ν λ λμ± κ·Έλ μ΅λλ€.
7κ°μ§ λμμΈ ν¨ν΄μ μ΄ν΄νκ³ κ΅¬ννλ©΄ μ½λλ₯Ό κ΄λ¦¬νκ³ , νμ₯ κ°λ₯νκ³ μ μ§ κ΄λ¦¬νκΈ° μ¬μ΄ κ²μμ λ§λ€κ³ , μΌλ°μ μΈ κ²μ κ°λ° κ³Όμ λ₯Ό ν΄κ²°ν μ μλ μλμ κ°μΆκ² λ©λλ€.
μ°μ΅κ³Ό κ²½νμ ν΅ν΄ μ΄λ¬ν ν¨ν΄μ νλ‘μ νΈμ μννκ² ν΅ν©νμ¬ κ°λ° νλ‘μΈμ€λ₯Ό λμ± ν¨μ¨μ μ΄κ³ μ¦κ²κ² λ§λ€ μ μμ΅λλ€.
μ΄κ±° λ²μνλ©΄μ λ°°μ΄κ±°= λ΄λΆμμ μ½λμ μΈλμ€μ½μ΄ μ°λ©΄ λ³΄κΈ°κ° νΈνλ€λλ° κ°μΈμ μΌλ‘ λ²λ¦λ€μ¬λλ©΄ μ’μλ―
μ μ΅μΆ
μ μ λ²μ μ λ΅ ν¨ν΄ νλ μλ €μ€¬λλ° λ€λ₯Έ κ²λ μμμμ λ€λ₯Έ μ¬λλ μλ €μ£Όλ μ¬λ λκ° μ²μμ΄λ€. μ μ±μΆ λ Έλ ₯μΆ - dc App