μ€ν°λ/μ€λΈμ νΈ17 [μ€λΈμ νΈ] λΆλ‘ B, C 'νμ κ³μΈ΅μ ꡬν', 'λμ μΈ νλ ₯, μ μ μΈ μ½λ' λΆλ‘ Bλ μμμ΄ μλ λ€λ₯Έ λ°©λ²μΌλ‘ νμ κ³μΈ΅μ ꡬννλ λ°©λ²μ λν΄ μ€λͺ νλ€. λΆλ‘ Cλ λμ μΈ νλ ₯μ κΈ°λ°μΌλ‘ μ μ μΈ μ½λλ₯Ό ꡬμ±ν΄μΌ νλ μ΄μ μ λν΄ μ€λͺ νλ€. νμ κ³μΈ΅μ ꡬν ν΄λμ€λ₯Ό μ΄μ©ν νμ κ³μΈ΅ ꡬν κ°μ²΄μ§ν₯ μΈμ΄μμ ν΄λμ€λ μ¬μ©μ μ μ νμ (user-defined data type)μ΄κ³ , ν΄λμ€λ κ°μ²΄μ νμ κ³Ό ꡬνμ λμμ μ μνλ κ²μ΄λ€. ν΄λμ€λ₯Ό μ΄μ©ν νμ κ³μΈ΅μ μμμ μ΄μ©νλ λ°©λ²μ΄λ€. μμμ μ΄μ©ν κ²½μ°, μμν΄λμ€λ λΆλͺ¨ ν΄λμ€μ ꡬνκ³Ό νΌλΈλ¦ μΈν°νμ΄μ€ λͺ¨λ λ¬Όλ €λ°μ μ μμ΄ νμ κ³μΈ΅μ μ½κ² ꡬνν μ μμ§λ§ μμν΄λμ€μ λΆλͺ¨ν΄λμ€λ₯Ό κ°νκ² κ²°ν©μν€κΈ° λλ¬Έμ λλλ‘μ΄λ©΄ μΆμ ν΄λμ€λ μΈν°νμ΄μ€λ₯Ό νμ©ν΄μ νμ κ³μΈ΅μ ꡬννλ κ²μ΄ μ’λ€. μΈν°νμ΄μ€λ₯Ό μ΄μ©ν νμ κ³.. 2023. 2. 10. [μ€λΈμ νΈ] λΆλ‘ A 'κ³μ½μ μν μ€κ³' λΆλ‘ Aμμλ μ¬μ 쑰건, μ¬ν쑰건, λΆλ³μμ μμλ³΄κ³ λ€νμ±μ μΈ‘λ©΄μμ μνΌνμ κ³Ό μλΈνμ μ΄ μ€μν΄μΌ νλ μ μ½μ‘°κ±΄μ κ³μ½μ κ΄μ μμ μ€λͺ νλ€. κ³μ½μ μν μ€κ³(Design by Contract, DBC)λ₯Ό μ¬μ©νλ©΄ νλ ₯μ νμν λ€μν μ μ½κ³Ό λΆμν¨κ³Όλ₯Ό λͺ μμ μΌλ‘ μ μνκ³ λ¬Έμνν μ μλ€(p.535). κ³μ½μ μν μ€κ³ ꡬμ±μμ μ¬μ 쑰건 (precondition): λ©μλκ° νΈμΆλκΈ° μν΄ λ§μ‘±λΌμΌ νλ 쑰건. μꡬμ¬ν(requires)μ λͺ μνλ©°, μ¬μ 쑰건μ λ§μ‘±μν€λ κ²μ λ©μλλ₯Ό μ€ννλ ν΄λΌμ΄μΈνΈμ μ무λ€. μ¬ν쑰건 (postcondition): λ©μλκ° μ€νλ νμ ν΄λΌμ΄μΈνΈμκ² λ³΄μ₯ν΄μΌ νλ 쑰건. μ¬ν쑰건(effects)μ μλ²κ° λ§μ‘±μν€μ§ λͺ»νλ©΄ ν΄λΌμ΄μΈνΈμκ² μμΈλ₯Ό λμ Έμ€μΌ νλ©°, μ΄.. 2023. 2. 3. [μ€λΈμ νΈ] 15μ₯ 'λμμΈ ν¨ν΄κ³Ό νλ μμν¬' 15μ₯μ μ€κ³λ₯Ό μ¬μ¬μ©νλ λμμΈ ν¨ν΄κ³Ό μ½λλ₯Ό μ¬μ¬μ©νλ νλ μμν¬μ λν΄ μ€λͺ νκ³ , μ΄μ movie μμ μ μ μ©λ λμμΈ ν¨ν΄μ μκ°νλ€. λμμΈ ν¨ν΄μ΄λ? - μννΈμ¨μ΄ μ€κ³μμ λ°λ³΅μ μΌλ‘ λ°μνλ λ¬Έμ μ λν΄ λ°λ³΅μ μΌλ‘ μ μ©ν μ μλ ν΄κ²° λ°©λ²μ΄λ€(μ€κ³ μ¬μ¬μ©). - λμμΈ ν¨ν΄μ νΉμ μ ν©(context)λ΄μμ μΌλ°μ μΈ μ€κ³ λ¬Έμ (problem)λ₯Ό ν΄κ²°(solution)νλ©°, νλ ₯νλ μ»΄ν¬λνΈλ€ μ¬μ΄μμ λ°λ³΅μ μΌλ‘ λ°μνλ ꡬ쑰λ₯Ό μμ νλ€(p.516). - ν¨ν΄μ 곡ν΅μΌλ‘ μ¬μ©ν μ μλ μν , μ± μ, νλ ₯μ ν νλ¦Ώμ΄λ€(p.517). - νΉμ ν λ³κ²½μ μΊ‘μνν¨μΌλ‘μ¨ νλ ₯μ μΌκ΄μ± μκ³ μ μ°νκ² ν΄μ€λ€. λ°λΌμ, μ΄λ€ λμμΈ ν¨ν΄μ΄ μ΄λ€ λ³κ²½μ μΊ‘μννλμ§λ₯Ό μ΄ν΄νλ κ²μ΄ μ€μνλ€. Strate.. 2023. 1. 21. [μ€λΈμ νΈ] 14μ₯ 'μΌκ΄μ± μλ νλ ₯' 14μ₯μ μ€κ³λ₯Ό μΌκ΄μ± μκ² λ§λ€κΈ° μν΄ λ³κ²½μ μΊ‘μννλ κΈ°λ²μ μκ°νλ€. μ 리νμλ©΄ μ μ¬ν κΈ°λ₯μ ꡬννκΈ° μν΄ μ μ¬ν νλ ₯ ν¨ν΄μ μ¬μ©ν΄μΌ νλλ°, μΌκ΄μ± μλ νλ ₯ ν¨ν΄μ μ μ©νλ©΄ μ½λκ° μ΄ν΄νκΈ° μ½κ³ μ§κ΄μ μ΄λ©° μ μ°ν΄μ§κΈ° λλ¬Έμ΄λ€. μΌκ΄μ± μλ νλ ₯μ μ€λͺ νκΈ° μν΄ μ± μμλ μ λ²μ λ€λ£¨μλ νΈλν° μκΈμ μμ μ½λλ₯Ό μ¬μ©νλ€. μ½λλ‘ μ€λͺ ν΄ μ£Όλ κ±° μ’μλ°... μ½λ λ무 μ΄λ ΅λ€.... γ γ μΊ‘μν μ’ λ₯ κ°λ³ κ°μ²΄μ λν λ³κ²½ κ΄λ¦¬ λ°μ΄ν° μΊ‘μν : ν΄λμ€μ μΈμ€ν΄μ€ λ³μλ₯Ό privateμΌλ‘ μΈλΆμμ μ κ·Όν μ μλλ‘ μΊ‘μνν κ². λ©μλ μΊ‘μν : ν΄λμ€μ λ΄λΆ νλμ μΊ‘μνν κ² νλ ₯μ μ°Έμ¬νλ κ°μ²΄λ€μ κ΄κ³μ λν λ³κ²½ κ΄λ¦¬ κ°μ²΄ μΊ‘μν : κ°μ²΄μ κ°μ²΄ μ¬μ΄μ κ΄κ³λ₯Ό μΊ‘μνν κ². (ν©μ±μ.. 2023. 1. 14. [μ€λΈμ νΈ] 13μ₯ 'μλΈν΄λμ±κ³Ό μλΈνμ΄ν' 13μ₯μμλ μνΌνμ κ³Ό μλΈνμ μ κ°λ μ μ€λͺ νκ³ νμ κ³μΈ΅μ λ§μ‘±μν€κΈ° μν΄ μ μ©ν μ μλ μ€κ³ μμΉμ μ€λͺ νλ€. μ¬λ°λ₯Έ νμ κ³μΈ΅μ ꡬμ±νκΈ° μν΄μλ ν΄λΌμ΄μΈνΈμ κ΄μ μμ μνΌνμ κ³Ό μλΈνμ μ¬μ΄μ νλμ΄ νΈνλλλ‘ λ§λ€μ΄μΌ νλ€. μμμ μ©λλ λκ°μ§λ‘ λλ μ μλ€. 첫 λ²μ§Έλ νμ κ³μΈ΅ ꡬνμ΄κ³ λλ²μ§Έλ μ½λ μ¬μ¬μ©μ΄λ€. λμΌν λ©μμ§μ λν΄ μλ‘ λ€λ₯΄κ² νλν μ μλ λ€νμ μΈ κ°μ²΄λ₯Ό ꡬννκΈ° μν΄ κ°μ²΄μ νλμ κΈ°λ°μΌλ‘ νμ κ³μΈ΅μ ꡬμ±ν΄μΌ νλ€. κ·Έλ¦¬κ³ μμμ μ΄ νμ κ³μΈ΅μ ꡬνν μ μκ² ν΄ μ€λ€. κ·ΈλΌ νμ κ³μΈ΅μμ νμ μ 무μμ λ§νλ κ±ΈκΉ? κ°μ²΄μ§ν₯ ν¨λ¬λ€μμ κ΄μ μμμ νμ μ λμΌν μ€νΌλ μ΄μ μ μ μ©ν μ μλ μΈμ€ν΄μ€μ μ§ν©μ΄λ€. μ¦, λμΌν νΌλΈλ¦ μΈν°νμ΄μ€λ₯Ό κ°μ§λ κ°μ²΄λ.. 2023. 1. 6. [μ€λΈμ νΈ] 12μ₯ 'λ€νμ±' 12μ₯μμλ κ°μ²΄μ§ν₯μ ν΅μ¬ λ©μ»€λμ¦ μ€ νλμΈ λ€νμ±μ λν΄ μ€λͺ νλ€. νΉν, λ€νμ± μ€μμ μλΈνμ λ€νμ±μ λν΄ μμλ³΄κ³ λ°νμμ λ©μμ§λ₯Ό μ²λ¦¬ν μ μ ν λ©μλλ₯Ό μ°Ύμ λ μ¬μ©νλ λμ λ©μλ νμ κΈ°λ²μ λν΄ μ μ μλ€. λ€νμ±μ λ°νμμ λ©μμ§λ₯Ό μ²λ¦¬νκΈ°μ μ ν©ν λ©μλλ₯Ό λμ μΌλ‘ νμνλ κ³Όμ μ ν΅ν΄ ꡬνλλ©°, μμμ μ΄λ° λ©μλλ₯Ό μ°ΎκΈ° μν μΌμ’ μ νμ κ²½λ‘λ₯Ό ν΄λμ€ κ³μΈ΅μ ννλ‘ κ΅¬ννκΈ° μν λ°©λ²μ΄λ€(p.390) λ€νμ±(Polymorphism)μ΄λ νλμ μΆμ μΈν°νμ΄μ€μ λν΄ μλ‘ λ€λ₯Έ ꡬνμ μ°κ²°ν μ μλ λ₯λ ₯μ΄λ€. μ¦, μ¬λ¬ νμ μ λμμΌλ‘ λμν μ μλ μ½λλ₯Ό μμ±ν μ μλ λ°©λ²μ΄λ€. λ€νμ±μ μ λλ²μ€ λ€νμ±, μμ λ€νμ±μΌλ‘ λΆλ₯λλ©°, μ λλ²μ€ λ€νμ±μ λ§€κ°λ³μ, ν¬ν¨ λ€.. 2022. 12. 30. μ΄μ 1 2 3 λ€μ