π Chapter 4: μν , μ±
μ, νλ ₯
- κ°μ²΄μ§ν₯ μ€κ³μ μ 체μ μΈ νμ§μ κ²°μ νλ κ²μ κ°λ³ κ°μ²΄μ νμ§μ΄ μλλΌ μ¬λ¬ κ°μ²΄λ€μ΄ λͺ¨μ¬ μ΄λ€λ΄λ νλ ₯μ νμ§μ΄λ€.
β νλ ₯β
π μμ²νκ³ μλ΅νλ©° νλ ₯νλ μ¬λλ€β
- νλ ₯μ ν μ¬λμ΄ λ€λ₯Έ μ¬λμκ² λμμ μμ²ν λ μμλλ€. μμ²μ λ°μ μ¬λμ μΌμ μ²λ¦¬ν ν μμ²ν μ¬λμκ² νμν μ§μμ΄λ μλΉμ€λ₯Ό μ 곡νλ κ²μ μμ²μΌλ‘ μλ΅νλ€.
- νλ ₯μ λ€μμ μμ²κ³Ό μλ΅μΌλ‘ ꡬμ±λλ©° μ 체μ μΌλ‘ νλ ₯μ λ€μμ μ°μμ μΈ μμ²κ³Ό μλ΅μ νλ¦μΌλ‘ ꡬμ±λλ€.
β μ±
μβ
- κ°μ²΄μ§ν₯μ μΈκ³μμλ μ΄λ€ κ°μ²΄κ° μ΄λ€ μμ²μ λν΄ λλ΅ν΄ μ€ μ μκ±° λ, μ μ ν νλμ ν μλ¬΄κ° μλ κ²½μ° ν΄λΉ κ°μ²΄κ° μ±
μμ κ°μ§λ€κ³ λ§νλ€.
- μ΄λ€ λμμ λν΄ μμ²μ κ·Έ λμμ΄ μμ²μ μ²λ¦¬ν μ±
μμ΄ μμμ μμνλ€.
- κ°μ²΄μ§ν₯ κ°λ°μμ κ°μ₯ μ€μν λ₯λ ₯μ μ±
μμ λ₯μνκ² μννΈμ¨μ΄ κ°μ²΄μ ν λΉνλ κ²μ΄λ€.
- κ°μ²΄μ μ±
μμ΄ μ΄λ¦¬μ 리 λΆμ νλ μν©μμ μ±κΈνκ² κ΅¬νμ λ°μ΄λλ κ²μ λ³κ²½μ μ·¨μ½νκ³ λ€μν νλ ₯μ μ°Έμ¬ν μ μλ λΉμμ¨μ μΈ κ°μ²΄λ₯Ό λ³κ² λλ€.
π μ±
μμ λΆλ₯β
- νλ ₯μ μ°Έμ¬νλ κ°μ²΄λ€μ λͺ©νλ₯Ό λ¬μ±νλ λ° νμν μ±
μμ μννλ€. μ±
μμ κ°μ²΄μ μν΄ μ μλλ μμ§λ μλ νμμ μ§ν©μΌλ‘, κ°μ²΄κ° μμμΌ νλ μ 보μ κ°μ²΄κ° μνν μ μλ νμμ λν΄ κ°λ΅μ μΌλ‘ μμ ν λ¬Έμ₯μ΄λ€. μ¦, κ°μ²΄μ μ±
μμ κ°μ²΄κ° 무μμ μκ³ μλκ°μ 무μμ ν μ μλκ°λ‘ ꡬμ±λλ€.
- κ°μ²΄μ μ±
μμ ν¬κ² νλ κ²κ³Ό μλ κ²μ λ κ°μ§ λ²μ£Όλ‘ μμΈν λΆλ₯νκ³ μλ€.
- νλ κ²(doing)
- κ°μ²΄λ₯Ό μμ±νκ±°λ κ³μ°μ νλ λ±μ μ€μ€λ‘ νλ κ²
- λ€λ₯Έ κ°μ²΄μ νλμ μμμν€λ κ²
- λ€λ₯Έ κ°μ²΄μ νλμ μ μ΄νκ³ μ‘°μ νλ κ²
- μλ κ²(knowing)
- κ°μΈμ μΈ μ 보μ κ΄ν΄ μλ κ²
- κ΄λ ¨λ κ°μ²΄μ κ΄ν΄ μλ κ²
- μμ μ΄ μ λνκ±°λ κ³μ°ν μ μλ κ²μ κ΄ν΄ μλ κ²
- κ°μ²΄μ μ±
μμ μ΄μΌκΈ°ν λλ μΌλ°μ μΌλ‘ μΈλΆμμ μ κ·Ό κ°λ₯ν κ³΅μ© μλΉμ€μ κ΄μ μμ μ΄μΌκΈ°νλ€. μ¦, μ±
μμ κ°μ²΄μ μΈλΆμ μ κ³΅ν΄ μ€ μ μλ μ 보μ μΈλΆμ μ κ³΅ν΄ μ€ μ μλ μλΉμ€μ λͺ©λ‘μ΄λ€. λ°λΌμ μ±
μμ κ°μ²΄μ κ³΅μ© μΈν°νμ΄μ€(public interface)λ₯Ό ꡬμ±νλ€.
π μ±
μκ³Ό λ©μμ§β
- ν κ°μ²΄κ° λ€λ₯Έ κ°μ²΄μκ² μ μ‘ν μμ²μ κ·Έ μμ²μ μμ ν κ°μ²΄μ μ±
μμ΄ μνλκ² νλ€. μ΄μ²λΌ κ°μ²΄κ° λ€λ₯Έ κ°μ²΄μκ² μ£Όμ΄μ§ μ±
μμ μννλλ‘ μμ²μ 보λ΄λ κ²μ λ©μμ§ μ μ‘(message-send)μ΄λΌκ³ νλ€. λ°λΌμ λ κ°μ²΄ κ°μ νλ ₯μ λ©μμ§λ₯Ό ν΅ν΄ μ΄λ€μ§λ€.
- λ©μμ§λ νλμ μν΄ ν κ°μ²΄κ° λ€λ₯Έ κ°μ²΄λ‘ μ κ·Όν μ μλ μ μΌν λ°©λ²μ΄λ€.
- μ±
μμ΄ νλ ₯μ΄λΌλ λ¬Έλ§₯ μμμ μμ²μ μμ νλ ν μͺ½μ κ°μ²΄ κ΄μ μμ 무μμ ν μ μλμ§λ₯Ό λμ΄νλ κ²μ΄λΌλ©΄ λ©μμ§λ νλ ₯μ μ°Έμ¬νλ λ κ°μ²΄ μ¬μ΄μ κ΄κ³λ₯Ό κ°μ‘°ν κ²μ΄λ€.
- ν κ°μ§ μ£Όμν μ μ μ±
μκ³Ό λ©μμ§μ μμ€μ΄ κ°μ§λ μλ€λ μ μ΄λ€. μ±
μμ κ°μ²΄κ° νλ ₯μ μ°Έμ¬νκΈ° μν΄ μνν΄μΌ νλ νμλ₯Ό μμ μμ€μμ κ°λ΅μ μΌλ‘ μμ ν κ²μ΄λ€. μ±
μμ κ²°μ ν ν μ€μ λ‘ νλ ₯μ μ μ νλ©΄μ μ΄λ₯Ό λ©μμ§λ‘ λ³νν λλ νλμ μ±
μμ΄ μ¬λ¬ λ©μμ§λ‘ λΆν λλ κ²μ΄ μΌλ°μ μ΄λ€.
- κ°μ²΄μ§ν₯ μ€κ³λ νλ ₯μ μ°Έμ¬νκΈ° μν΄ μ΄λ€ κ°μ²΄κ° μ΄λ€ μ±
μμ μνν΄μΌ νκ³ μ΄λ€ κ°μ²΄λ‘λΆν° λ©μμ§λ₯Ό μμ ν κ²μΈμ§λ₯Ό κ²°μ νλ κ²μΌλ‘λΆν° μμλλ€.
β μν β
π μ±
μμ μ§ν©μ΄ μλ―Ένλ κ²β
- μ΄λ€ κ°μ²΄κ° μννλ μ±
μμ μ§ν©μ κ°μ²΄κ° νλ ₯ μμμ μννλ μν μ μμνλ€. μ΄λ¬ν μ΄μ λ μν μ΄ μ¬μ¬μ© κ°λ₯νκ³ μ μ°ν κ°μ²΄μ§ν₯ μ€κ³λ₯Ό λ³λ λ§€μ° μ€μν ꡬμ±μμμ΄κΈ° λλ¬Έμ΄λ€.
π μν μ΄ λ΅μ΄λ€β
- μν (role)μ μ¬μ©νλ©΄ νλ ₯μ λͺ¨λ ν¬κ΄ν μ μλ νλμ νλ ₯μΌλ‘ μΆμνν μ μλ€.
- μν μ νλ ₯ λ΄μμ λ€λ₯Έ κ°μ²΄λ‘ λ체ν μ μγ·μμ λνλ΄λ μΌμ’
μ νμμ΄λ€. νλ ₯ μμμ μν μ "μ΄ μ리λ ν΄λΉ μν μ μνν μ μλ μ΄λ€ κ°μ²΄λΌλ λμ ν μ μμ΅λλ€." λΌκ³ λ§νλ κ²κ³Ό κ°λ€.
- μν μ λ체νκΈ° μν΄μλ κ° μν μ΄ μμ ν μ μλ λ©μμ§λ₯Ό λμΌν λ°©μμΌλ‘ μ΄ν΄ν΄μΌ νλ€. λ°λΌμ μν μ λ체ν μ μλ κ°μ²΄λ λμΌν λ©μμ§λ₯Ό μ΄ν΄ν μ μλ κ°μ²΄λ‘ νμ λλ€.
- λμΌν μν μ μνν μ μλ€λ κ²μ ν΄λΉ κ°μ²΄λ€μ΄ νλ ₯ λ΄μμ λμΌν μ±
μμ μ§ν©μ μνν μ μλ€λ κ²μ μλ―Ένλ€. λμΌν μ±
μμ μννλ κ°μ²΄λ€μ΄ λμΌν λ©μμ§λ₯Ό μμ ν μ μκΈ° λλ¬Έμ λμΌν μ±
μμ μνν μ μλ€λ κ²μ λ§€μ° μ€μν κ°λ
μ΄λ€.
- μν μ κ°λ
μ μ¬μ©νλ©΄ μ μ¬ν νλ ₯μ μΆμνν΄μ μΈμ§ κ³ΌλΆνλ₯Ό μ€μΌ μ μλ€. λν λ€μν κ°μ²΄λ€μ΄ νλ ₯μ μ°Έμ¬ν μ μκΈ° λλ¬Έμ νλ ₯μ΄ μ’ λ μ μ°ν΄μ§λ©° λ€μν κ°μ²΄λ€μ΄ λμΌν νλ ₯μ μ°Έμ¬ν μ μκΈ° λλ¬Έμ μ¬μ¬μ©μ±μ΄ λμμ§λ€.
- μν μ κ°μ²΄μ§ν₯ μ€κ³μ λ¨μμ±(simplicity), μ μ°μ±(flexibility), μ¬μ¬μ©μ±(reusability)μ λ·λ°μΉ¨νλ ν΅μ¬ κ°λ
μ΄λ€.
π νλ ₯μ μΆμνβ
- μν μ κ°μ₯ ν° κ°μΉλ νλμ νλ ₯ μμ μ¬λ¬ μ’
λ₯μ κ°μ²΄κ° μ°Έμ¬ν μ μκ² ν¨μΌλ‘μ¨ νλ ₯μ μΆμνν μ μλ€λ κ²μ΄λ€.
- νλ ₯μ μΆμνλ μ€κ³μκ° λ€λ€μΌ νλ νλ ₯μ κ°μλ₯Ό μ€μ΄λ λμμ ꡬ체μ μΈ κ°μ²΄λ₯Ό μΆμμ μΈ μν λ‘ λ체ν¨μΌλ‘μ¨ νλ ₯μ μμμ λ¨μννλ€. κ²°κ³Όμ μΌλ‘ μ ν리μΌμ΄μ
μ μ€κ²λ₯Ό μ΄ν΄νκ³ κΈ°μ΅νκΈ° μ¬μμ§λ€.
π λ체 κ°λ₯μ±β
- μν μ νλ ₯ μμμ ꡬ체μ μΈ κ°μ²΄λ‘ λ체λ μ μλ μΆμμ μΈ νλ ₯μλ€. λ°λΌμ λ³Έμ§μ μΌλ‘ μν μ λ€λ₯Έ κ°μ²΄μ μν΄ λ체 κ°λ₯ν¨μ μλ―Ένλ€. κ°μ²΄κ° μν μ λ체νκΈ° μν΄μλ νλμ΄ νΈνλΌμΌ νλ€.
- κ°μ²΄κ° μν μ λ체 κ°λ₯νκΈ° μν΄μλ νλ ₯ μμμ μν μ΄ μννλ λͺ¨λ μ±
μμ λμΌνκ² μνν μ μμ΄μΌ νλ€.
- κ°μ²΄λ μν μ΄ μμνλ μ±
μλ³΄λ€ λ λ§μ μ±
μμ κ°μ§ μ μλ€. λ°λΌμ λλΆλΆμ κ²½μ°μ κ°μ²΄μ νμ
κ³Ό μν μ¬μ΄μλ μΌλ°ν/νΉμν κ΄κ³κ° μ±λ¦½νλ κ²μ΄ μΌλ°μ μ΄λ€.
- μν μ λ체 κ°λ₯μ±μ νμ νΈνμ±μ μλ―Ένκ³ , νμ νΈνμ±μ λμΌν μ±
μμ μνμ μλ―Ένλ€.
β κ°μ²΄μ λ¬μμ κ²°μ νλ νλ ₯β
π νν μ€λ₯β
- κ°μ²΄κ° μ‘΄μ¬νλ μ΄μ λ νμλ₯Ό μννλ©° νλ ₯μ μ°Έμ¬νκΈ° μν΄μλ€. λ°λΌμ μ€μ λ‘ μ€μν κ²μ κ°μ²΄μ νλ, μ¦ μ±
μμ΄λ€.
- μ μ μΈ ν΄λμ€κ° μλλΌ νλ ₯μ μ°Έμ¬νλ λμ μΈ κ°μ²΄μ΄λ©°, ν΄λμ€λ λ¨μ§ μμ€ν
μ νμν κ°μ²΄λ₯Ό νννκ³ μμ±νκΈ° μν΄ νλ‘κ·Έλλ° μΈμ΄κ° μ 곡νλ ꡬν λ©μ»€λμ¦μ΄λΌλ μ¬μ€μ΄λ€.
- κ°μ²΄μ§ν₯μ ν΅μ¬μ ν΄λμ€λ₯Ό μ΄λ»κ² ꡬνν κ²μΈκ°κ° μλλΌ κ°μ²΄κ° νλ ₯ μμμ μ΄λ€ μ±
μκ³Ό μν μ μνν κ²μΈμ§λ₯Ό κ²°μ νλ κ²μ΄λ€.
π νλ ₯μ λ°λΌ νλ₯΄λ κ°μ²΄μ μ±
μ