#1. κ°μ²΄ μ§ν₯ νλ‘κ·Έλλ°μ μ΄ν΄
κ°μ²΄ μ§ν₯ νλ‘κ·Έλλ°μ λ°°μ°λ μ΄μ
κ°μ²΄ μ§ν₯ νλ‘κ·Έλλ°μ κ°λ μ μ μ¬μ©ν κΉ?
- ν¨μμ²λΌ μ¬λ¬ μ¬λκ³Ό νλ‘κ·Έλ¨ κ°λ°ν λ
- λ€λ₯Έ μ¬λμ΄ μμ±ν μ½λλ₯Ό μ΄λ»κ² μ¬μ©νλ©΄ μ’μμ§ κ³ λ―Όν λ
- λ¨μ΄ λ§λ μ½λλ₯Ό μ¬μ¬μ©νκ³ μΆμ λ λνμ μΈ λ°©λ²!
κ°λ
- μ΄λ€ κΈ°λ₯μ μννλ νλμ λ¨μΌ νλ‘κ·Έλ¨μ κ°μ²΄λΌκ³ νλ μ½λλ‘ λ§λ€μ΄ λ€λ₯Έ μ¬λμ΄ μ¬μ¬μ©ν μ μλλ‘ ν¨
κ°μ²΄μ ν΄λμ€
- κ°μ²΄μμ±(attribute)κ³Ό νλ(action)μΌλ‘ ꡬμ±
- μμ± → λ³μλ‘ μ μ
- νλ → ν¨μλ‘ μ μ
μμ) μΈκ³΅μ§λ₯ μΆκ΅¬ νλ‘κ·Έλ¨
- κ²μ κ΅¬μ± λ¨μ
- μ¬ν, μ μ, ν → κ°κ°μ΄ κ°μ²΄κ° λ¨
- κ°μ²΄λ ν νλ‘κ·Έλ¨μμ μ¬λ¬ κ° μ¬μ© κ°λ₯
- λ°λΌμ κ°μ²΄λ€μ μν μ€κ³λ μ μ νμ ⇒ ν΄λμ€(class)
-
- κ° κ°μ²΄μ κ°μ?
- μ΄λ€ κ°μ²΄κ° νμν κΉ?
- μ€μνμ μ‘΄μ¬νλ μ€μ μ 물건 λ° κ°λ μ μλ―Έ
- ν΄λμ€
- [κ°μ²΄]μΆκ΅¬ μ μ → μ μ μ΄λ¦ & ν¬μ§μ & μμν
- μ΄λ° ν΄λμ€λ₯Ό λ°νμΌλ‘ μ€μ κ°μ΄ ν λΉλλ€λ©΄ ⇒ μΈμ€ν΄μ€(instance)
- κ°μ²΄κ° κ°μ ΈμΌ ν κΈ°λ³Έ μ 보 λ΄μ μ½λ, μΌμ’ μ μ€κ³λ μ½λ
- μΈμ€ν΄μ€
- μμ) λΆμ΄λΉ΅ν & λΆμ΄λΉ΅
- λΆμ΄λΉ΅νλ‘ μ¬λ¬ κ°μ λΆμ΄λΉ΅ λ§λ€ μ μλ€
- [ν΄λμ€] λΆμ΄λΉ΅ν , [μΈμ€ν΄μ€] λΆμ΄λΉ΅
- μ λ§λ λΆμ΄λΉ΅ν μμΌλ©΄ λ€μν λΆμ΄λΉ΅ λ§λ€ μλ μλ€!
- ⇒ μ λ§λ ν΄λμ€ μ½λκ° μλ€λ©΄, μ΄κ²μΌλ‘ λ€μν μ’ λ₯μ μΈμ€ν΄μ€ μμ±ν μ μλ€~
#2-1. νμ΄μ¬μ κ°μ²΄ μ§ν₯ νλ‘κ·Έλλ°
ν΄λμ€ κ΅¬ννκΈ°
- ν΄λμ€ μ μΈμ μν κΈ°λ³Έ μ½λ ν νλ¦Ώ
- μ€λͺ
- 맨 μ → ν΄λμ€ μμ μ΄μΈ class
- μ€κ° → λ§λ€κ³ μνλ ν΄λμ€ μ΄λ¦
- λ§μ§λ§ → μμλ°μμΌ ν λ€λ₯Έ ν΄λμ€ μ΄λ¦
- μμ? → κΈ°μ‘΄ ν΄λμ€μ νΉμ§ κ·Έλλ‘ μ΄μ΄λ°μ μ¬μ©νλ κ²
- ν΄λμ€ μλͺ λ°©λ²
- μμ±μ μ μΈ
- μ μΈ → ν΄λμ€μ μμ± μΆκ°
- init()
- μμ±μ λν μ 보 μ μΈν λ μ¬μ©νλ μμ½ ν¨μ
- +) νμ΄μ¬μ μμ½ ν¨μ
- ‘init(), str, add
- μ½μλ ννμ μμ μ μνν΄μ€
- ν¨μμ μ μΈ
- ν΄λμ€μ λ€μν λμ μ μ
- μ½λ
- _μ μ°μ
- κ°μμ λ€λΌ μ°μμ΄ λ€λ¦
- ‘_’ 1 κ° → μ΄νλ‘ μ°μ΄μ§ μμ λ³μμ νΉλ³ν μ΄λ¦ λΆμ¬νκ³ μΆμ§ μμ λ
μΈμ€ν΄μ€ μ¬μ©νκΈ°
- μΈμ€ν΄μ€
- ν΄λμ€μμ μ€μ μ μΈ λ°μ΄ν°κ° μ λ ₯λμ΄ μ¬μ©ν μ μλ ννμ κ°μ²΄
- ν΄λμ€μμ μΈμ€ν΄μ€ νΈμΆ λ°©λ²
- ν΄λμ€ μ΄λ¦ νΈμΆ
- μ μν ‘init’μ 맀κ°λ³μμ λ§μΆ° κ° μ λ ₯
- ν¨μμ μ΄κΉκ° μ§μ κ³Ό κ°μ κ°λ
- selfμ μ΄λ ν κ°λ ν λΉνμ§ μμ
- #14
- μΈμ€ν΄μ€ μλ‘κ² μμ
- jinhyun → name, position, back_mimberμ κ°κ° Jinhyiin, MF, 10μ΄ ν λΉλ¨
- ν¨μ νΈμΆν λλ μΈμ€ν΄μ€ μ΄λ¦κ³Ό ν¨μλͺ μ¬μ©
ν΄λμ€λ₯Ό μ¬μ©νλ μ΄μ
- μμ μ μ½λλ₯Ό λ€λ₯΄ μ¬λμ΄ μμ½κ² μ¬μ©ν μ μλλ‘ μ€κ³νκΈ° μν¨
- νλμ κ°μ²΄λ‘ μμ±νκΈ°κ° λ μ’μ
- μ½λλ₯Ό μ’ λ μμ½κ² μ μΈ κ°λ₯
- μ£Όμν μ
- κ°μ²΄ μ§ν₯ νλ‘κ·Έλλ° λ§λ₯μ£Όμλ₯Ό μ‘°μ¬νμ!
- λͺ¨λ μλ‘μ΄ λ°©λ²μΌλ‘ μλνκΈ° λ³΄λ€ νμλ°©λ²μ μ μ¬μ μμ μ¬μ©νμ¬ λ¬Έμ λ₯Ό ν΄κ²°νμ
- κ°μ²΄ μ§ν₯ νλ‘κ·Έλλ° λ§λ₯μ£Όμλ₯Ό μ‘°μ¬νμ!
#3. κ°μ²΄ μ§ν₯ νλ‘κ·Έλλ°μ νΉμ§
μμ
- 무μΈκ°λ₯Ό λ΄λ €λ°λ κ²μ μλ―Έ
- λΆλͺ¨ ν΄λμ€μ μ μλ μμ±κ³Ό λ©μλλ₯Ό μμ ν΄λμ€κ° λ¬Όλ €λ°μ μ¬μ©
- μ€λͺ
- λ¨Όμ Person ν΄λμ€λ₯Ό μμ±
- Person ν΄λμ€μλ μμ±μ μΈμλ₯Ό λ§λ€μ΄ nameκ³Ό ageμ κ΄λ ¨λ μ 보λ₯Ό μ λ ₯ν μ μλλ‘ ν¨
- Korean ν΄λμ€λ₯Ό λ§λ¦ → Person ν΄λμ€λ₯Ό μμλ°μ
- class Korean(Person)κ³Ό κ°μ΄ μμ±νλ©΄ κ°λ¨ν μμκ°λ₯.
- pass → λ³λμ λ΄μ© μμ΄ ν΄λμ€λ§ μ‘΄μ¬νλ€λ λ»
- μ¦, λ³λμ λ΄μ©μ΄ μλ Korean ν΄λμ€ μΈμ€ν΄μ€λ₯Ό λ§λ κ²
- Korean ν΄λμ€λ λ³λμ μμ±μλ μμ§λ§, Person ν΄λμ€κ° κ°μ§ μμ±μλ₯Ό κ·Έλλ‘ μ¬μ©νμ¬ μΈμ€ν΄μ€λ₯Ό λ§λ¦
- Person ν΄λμ€μμ μμ±ν λ³μλ₯Ό κ·Έλλ‘ μ¬μ©κ°λ₯
- μ΄λ¬ν κ°μ²΄ μ§ν₯ νλ‘κ·Έλλ°μ νΉμ§μ μμμ΄λΌκ³ ν¨
- λ¨Όμ Person ν΄λμ€λ₯Ό μμ±
- μμμ λνλ‘ νν
- μ¬κ°νμ΄ ν΄λμ€
- νμ΄νλ κ° ν΄λμ€ μ μμ κ΄κ³
- μ¦, Person ν΄λμ€λ₯Ό Employeeκ° μμλ°κ³ , μ΄ ν΄λμ€λ₯Ό λ€μ νλ² Manager, Staff. Hourly λ±μ΄ μμλ°λ κ²
λ¨Όμ λΆλͺ¨ ν΄λμ€κ° Person
- name, age, genderμ λν΄ λ³μλ₯Ό μ μΈ
- about_ me ν¨μλ₯Ό μ¬μ©νμ¬ μμ±λ μΈμ€ν΄μ€κ° μμ μ μ€λͺ ν μ μλλ‘ν¨
- μ¬μ€ str() ν¨μμ λ€μ΄κ°λ λλ ν΄λμ€μ΄μ§λ§ μμμ about_me ν΄λμ€λ₯Ό μμ±
λ€μμΌλ‘ μμλ°λ Employee ν΄λμ€
- Person ν΄λμ€κ° λ¨μν μ¬λμ λν μ 보λ₯Ό μ μ → Employee ν΄λμ€λ μ¬λμ λν μ μμ ν¨κ» μΌνλ μκ°κ³Ό μκΈμ λν λ³μλ₯Ό μΆκ°
- μ¦ init() ν¨μλ₯Ό μ¬μ μ
- μ΄λ λΆλͺ¨ ν΄λμ€μ __init () ν¨μλ₯Ό κ·Έλλ‘ μ¬μ©νλ €λ©΄ λ³λμ init() ν¨μλ₯Ό λ§λ€μ§ μμλ λ¨
- νμ§λ§ κΈ°μ‘΄ ν¨μλ₯Ό μ¬μ©νλ©΄μ μλ‘μ΄ λ΄μ©μ μΆκ°νκΈ° μν΄μλ μμν΄λμ€μ init() ν¨μλ₯Ό μμ±ν λ super().init(맀κ°λ³μ) λΌκ³ μ
λ ₯
- μ¬κΈ°μ super()λ λΆλͺ¨ ν΄λμ€λ₯Ό κ°λ¦¬ν΄
- ⇒ μ¦, λΆλͺ¨ ν΄λμ€μ init() ν¨μλ₯Ό κ·Έλλ‘ μ¬μ©νλ€λ λ»
- κ·Έ μλμλ μμ ν΄λμ€μμ νμν μλ‘μ΄ λ³μλ₯Ό μΆκ°νλ©΄ λ¨
- μ΄λ¬ν ν¨μμ μ¬μ μλ₯Ό μ€λ²λΌμ΄λ© overridingμ΄λΌκ³ ν¨
- μ€λ²λΌμ΄λ©
- μμ μ ν¨μ μ΄λ¦κ³Ό νμν 맀κ°λ³μλ κ·Έλλ‘ μ μ§ → ν¨μμ μν μ½λλ₯Ό λ³κ²½νλ κ²
- κ°μ λ°©μμΌλ‘ about_me() ν¨μκ° μ€λ²λΌμ΄λ©λ κ²μ νμΈν μ μμ
- Personκ³Ό Employeeμ λν μ€λͺ μ μΆκ°ν κ²
- μ μ½λλ€μ μ€λͺ
μ μ©μ΄μ±μ μν΄ ν
μ€νΈ ννμ μ€λͺ
λ§ μΆκ°νμμ§λ§ μ€μ λ‘λ νλ‘κ·Έλ¨μ μ¬μ©νκΈ° μν λ€μν κΈ°λ₯μ΄ μΆκ°λ μ μμ
- do_workμ²λΌ μμ ν΄λμ€μλ§ νμν μλ‘μ΄ ν¨μλ₯Ό μμ±ν μ μμ
- μμ μ€λͺ νλ―μ΄ μ μ ν΄λμ€λ λΆλͺ¨ ν΄λμ€λ³΄λ€ λ μμΈν μΌ
- λ°λΌμ μμ ν΄λμ€κ° μλ‘μ΄ κΈ°λ₯μ μνν μ μλλ‘ μ½λλ₯Ό μμ±
- νμ΄μ¬μμλ μ΄μΈμλ λ€μν μμ κΈ°λ₯μ μ§μ
- μλ₯Ό λ€μ΄, 1κ° μ΄μμ ν΄λμ€ νΉμ§μ μμνλ λ€μ€μμμ μ§μνκΈ°λ ν¨
λ€νμ±
κ°μ μ΄λ¦μ λ©μλκ° λ€λ₯Έ κΈ°λ₯μ νλ κ²μ λ§ν¨
- μλ₯Ό λ€μ΄, about_meλΌλ ν¨μλ₯Ό λΆλͺ¨ ν΄λμ€μ μμ ν΄λμ€κ° μλ‘ λ€λ₯΄κ² ꡬννλλ°, μ΄κ²λ μΌμ’ μ λ€νμ±μ΄λ€.
κ·Έλ λ€λ©΄ λ€νμ±μ μ¬μ©νλ μ΄μ λ 무μμΌκΉ?
- κ°μ²΄ μ§ν₯ νλ‘κ·Έλλ°μ λ€λ₯Έ μ¬λμ μ½λλ₯Ό μ½κ² μ¬μ¬μ©νκΈ° μν΄ μ¬μ©
- μ΄λ₯Ό μν΄μλ λ΄λΆμ μΈ κ΅¬ν κ³Όμ μ μ λͺ¨λ₯΄λλΌλ κ·Έ ν¨μλ ν΄λμ€μ μν μ λͺ νν μ νμ μμ
- μΈν°λ·μμ λ°μ΄ν°λ₯Ό λͺ¨μΌλ νλ‘κ·Έλ¨μ ν¬λ‘€λ¬ crawlerλΌκ³ νλλ°.
- μ΄λ²μλ λ΄μ€λ₯Ό λͺ¨μΌλ ν¬λ‘€λ¬λ₯Ό λ§λ€μ΄λ³΄λ©΄μ μ€λͺ
- λ¨Όμ λΆλͺ¨ Crawler ν΄λμ€λ₯Ό λ§λ€κ³ do_crawlingμ΄λΌ λ ν¨μλ₯Ό μμ±
- κ·Έλ¦¬κ³ Crawler ν΄λμ€λ₯Ό μμμμΌ NaverCrawlerμ DaumCrawlerλ₯Ό λ§λ¦
- μ΄μ λ μμ ν΄λμ€λ λͺ¨λ do_crawling ν¨μλ₯Ό κ°κ² λ¨
- κ°μ μ΄λ¦μ΄μ§λ§ ꡬν λ΄μ©μ λ€λ¦
- κ°κ° ν΄λμ€μμ ꡬνλλ λ΄λΆ λ‘μ§μ μ°¨μ΄κ° μμ
- μ΄λ₯Ό ν¨μμ λ€νμ±μ΄λΌκ³ ν¨.
- μ¬κΈ°μ Crawler ν΄λμ€λ€μ do crawling ν¨μλ κ°κ° λ€μ΄λ²μ λ€μμμ λ΄μ€λ₯Ό κ°μ Έμ€λ μν
- ν΄λΉ ν΄λμ€μ μ¬μ©μλ λ°μ΄ν°λ₯Ό μ΄λ»κ² κ°μ Έμ€λμ§ λͺ¨λ₯΄μ§λ§ κ²°κ³Όλ λ ν΄λμ€ λͺ¨λ κ°λ€λ κ²μ μ μ μμ
- ν΄λΉ ν΄λμ€μ μ¬μ©μ μ μ₯μμλ ν¨μμ μ΄λ¦λ§ μλ©΄ κ°μ ννλ‘ μ¬μ©ν μ μμ§λ§. ν΄λμ€ μ κ°λ°μ μ μ₯μμλ λ΄λΆμ μΈ κ΅¬νμ κ° ν΄λμ€λ³ λ€λ₯΄κ² κ°λ°ν νμκ° μμ
- μ΄λ₯Ό λ€νμ± μ΄λΌκ³ νλλ°, λ€νμ±μ μ¬μ©νλ©΄ νλ‘κ·Έλ¨μ μμ±ν λ μ¬μ©μκ° μ’ λ μ½κ² ν΄λμ€λ₯Ό μ¬μ© ν μ μμ.
- μλ [μ½λ 10-6]μ μμ¬=pseudo-codeλ‘ μ€μ μλλμ§λ μκ³ λ¨μ§ λ€νμ±μ μ€λͺ νκΈ° μν΄ λ§λ μ½λ
- μ½λ
→ λΆλͺ¨ ν΄λμ€λ Animal
- Catκ³Ό Dogλ Animal ν΄λμ€λ₯Ό μμλ°μ
- ν΅μ¬ ν¨μλ talk → κ°κ° λ λλ¬Ό ν΄λμ€μ μν μ΄ λ€λ₯Έ κ²μ νμΈ
- Animal ν΄λμ€λ μμ§ μ€λͺ
νμ§ μμμ§λ§ NotlmplementedErrorλΌλ ν΄λμ€λ₯Ό νΈμΆ
- μ΄ ν΄λμ€λ μμ ν΄λμ€μλ§ ν΄λΉ ν¨μλ₯Ό μ¬μ©ν μ μλλ‘ ν¨
- λ°λΌμ λ ν΄λμ€κ° λ΄λΆ λ‘μ§μμ κ°μ μ΄λ¦μ ν¨μλ₯Ό μ¬μ©νμ¬ κ²°κ³Όλ₯Ό μΆλ ₯νλλ‘ ν¨
- μ μλ λͺ¨λ ν΄λμ€λ 15γ 17νκ³Ό κ°μ΄ μ¬μ©κ°
κ°μμ±
κ°μ²΄μ μ 보λ₯Ό λ³Ό μ μλ λ 벨μ μ‘°μ νμ¬ κ°μ²΄μ μ 보 μ κ·Όμ μ¨κΈ°λ κ²
- μ΄ νΉμ§μ λ€μν μ΄λ¦μΌλ‘ λΆλ¦Ό
- μ’ λ μ€μν ν΅μ¬ κ°λ μ μΊ‘μνencapsulationμ μ 보 μλ information hiding
- νμ΄μ¬μμλ κ°μ²΄μ μ¬μ¬μ©μ μν΄ κ° κ°μ²΄κ° λ¬΄μ¨ μν μ νλμ§ μμμΌ ν¨
- .ꡬνμ μΈλΆμ μΈ λ΄μ©μ λͺ¨λ μ νμλ μμ. λ¨μ§ μ¬μ©νλ λ°©λ²λ§ μλ©΄ λ¨.
- ⇒ μ¦. κ°μ²΄μ 맀κ°λ³μ μΈν°νμ΄μ€λ§ λͺ νν μλ©΄ μ¬μ©ν μ μμ
- μ΄λ¬ν κ°λ μ μΊ‘μνλΌκ³ νλ©°. κ°μ²΄μ μΈλΆ λ΄μ©μ λͺ¨λ₯Έ μ± κ°μ²΄μ μ¬μ©λ²λ§ μκ³ μ¬μ©νλ€λ λ»
- λμμ νμν μ 보λ μ¨κ²¨μΌ ν¨
- μΊ‘μνμ μ 보μλμΌλ‘ ννμ λ€λ₯΄κ² νμ§λ§ λ λ€ μ½λμ λ΄λΆ ꡬνμ μν΄μ μΈλΆμμ μ½κ² μ¬μ©νκ² νκ³ , μ½λμ μΈλΆμ μΈ λ΄μ©μ λͺ¨λ₯΄κ² νλ€λ μΈ‘λ©΄μμ λΉμ·ν μλ―Έλ‘ μ¬μ©λ¨
- μΊ‘μνλ₯Ό μ¬μ©ν΄μΌ νλ μ΄μ λ 무μμΌκΉ?
- μ¬λ¬ κ°μ§κ° μμ§λ§ μΌλ¨ ν΄λμ€λ₯Ό μ€κ³ν λ ν΄λμ€ κ° κ°μ λ° μ 보 곡μ λ₯Ό μ΅μννμ¬ κ°λ³ ν΄λμ€κ° λ¨λ μΌλ‘λ μ λμν μ μλλ‘ ν΄μΌ νκΈ° λλ¬Έ
- κ° ν΄λμ€κ° κ°νκ² μ°κ²°λμ΄ μλ€λ©΄ λ 립μ μΌλ‘ μ¬μ©νκΈ° μ΄λ €μ
- λν.μ¬ μ©μ μ μ₯μμλ μμΈν λ΄μ©μ λͺ¨λ₯΄λλΌλ μΈν°νμ΄μ€λ₯Ό μ΄ν΄νλ©΄ ν΄λμ€λ₯Ό μ½κ² μ¬μ©ν μ μμ
- νμ΄μ¬μμλ μ΄λ¬ν κ°λ μ κ°μμ±μ΄λΌλ μ΄λ¦μΌλ‘ μ μ© → μ 보 μλμ μ΄λ»κ² ν κ²μΈκ°λ₯Ό μ½λ λ 벨μμ μ‘°μ
- μ€μ νμ΄μ¬μ κ°μμ± μ¬μ© λ°©λ²μ λν΄ μμλ₯Ό λ€μ΄ μ€λͺ
- λ¨Όμ μ½λλ₯Ό μμ±ν΄μΌ νλ μν©μ λ€μκ³Ό κ°μ
→ [μ½λ 10—8]μμλ Inventory κ°μ²΄μ add_new_item() ν¨μλ₯Ό μ¬μ©νμ¬ μλ‘κ² μμ±λ Product κ°μ²΄λ₯Ό λ£μ΄μ€
- μ¬κΈ°μ μλ£νμ λΉκ΅νμ¬ ν΄λΉ κ°μ²΄κ° Product κ°μ²΄μΈμ§ νμΈ νκ³ , κ·Έλ μ§ μμ κ²½μ° ValueErrorκ° λ°μ
- itemsλ Product κ°μ²΄κ° λ€μ΄κ°λ κ³΅κ° → get_number_of_items()λ₯Ό μ¬μ©νμ¬ μ΄ κ°μ²΄μ κ°μλ₯Ό λ°ν
- μ¬κΈ°μ ν΅μ¬μ___items λ³μ
- Inventoryλ₯Ό μ μ₯νλ κ³΅κ° → add_new_item()μ ν΅ν΄ Product κ°μ²΄λ₯Ό λ£μ μ μμ
- νμ§λ§ λ€λ₯Έ νλ‘κ·Έλ¨μ΄ add_new_item()μ΄ μλλΌ μ§ μ ν΄λΉ κ°μ²΄μ μ κ·Όν΄ μλ‘μ΄ κ°μ μΆκ°νλ €κ³ νλ€λ©΄ μ΄λ»κ² ν κΉ?
- #20
- λ€λ₯Έ μ½λμμλ μ μ€νλλ€κ° 20νμ my_inventory._itemsμμ μ€λ₯κ° λ°μ
- μλνλ©΄ __κ° ν¨μ μν μ νλ μμ½ λ¬Έμλ‘ ν΄λμ€μμ λ³μμ λ κ°κ° λΆμ΄μμ΄ μ¬μ©λ ν΄λμ€ λ΄λΆμμλ§ μ κ·Όν μ μκ³ , μΈλΆμλ νΈμΆνμ¬ μ¬μ©νμ§ λͺ»νκΈ° λλ¬Έ
- ⇒ μ¦, ν΄λμ€ λ΄λΆμ©μΌλ‘λ§ λ³μλ₯Ό μ¬μ©νκ³ μΆλ€λ©΄ λ³μλͺ ’ ννλ‘ λ³μλ₯Ό μ μΈ
- μ΄λ¬ν νΉμ§μ μλ°μ μλ private variableμ΄λΌκ³ λ ν¨
- μ¦, κ°μμ±μ ν΄λμ€ λ΄λ‘ νμ νλ©΄μ κ°μ΄ λ€λ₯΄κ² λ€ μ΄κ°λκ²μ λ§μ μ μλ€. μ΄λ₯Ό μ 보μλμ΄λΌκ³ ν¨
- #20
- κ·Έλ λ€λ©΄ μ΄λ¬ν μ 보λ₯Ό ν΄λμ€ μΈλΆμμ μ¬μ©νκΈ° μν΄μλ μ΄λ»κ² ν΄μΌ ν κΉ?
- λ°μ½λ μ΄ν° decoratorλΌκ³ λΆλ¦¬λ ©propertyλ₯Ό μ¬μ©
- ν΄λμ€μ κ° λ©μλ μλ¨μ μ½μ νμ¬ ν΄λΉ λ©μλμ κΈ°λ₯μ μΆκ°νλ νμ΄μ¬ λ¬Έλ²
- [μ½λ 10-8]μ 14ν λ·λΆλΆμ [μ½λ 10-μ΄λ₯Ό μΆκ°νμ¬ ©propertyλ₯Ό μ¬μ©νλ©΄ ν΄λΉ λ³μλ₯Ό μΈλΆμμ μ¬μ© κ°λ₯
- λ€λ₯Έ μ½λλ κ·Έλλ‘ μ μ§νκ³ λ§μ§λ§μ itemsλΌλ μ΄λ¦μΌλ‘ λ©μλλ₯Ό λ§λ€λ©΄μ ©property λ₯Ό λ©μλ μλ¨μ μ λ ₯
- κ·Έλ¦¬κ³ μΈλΆμμ μ¬μ©ν λ³μμΈ __itemsλ₯Ό λ°ν
- μ΄λ κ² μ½λλ₯Ό μΆκ°νλ©΄ λ€μκ³Ό κ°μ΄ μΈλΆμμλ ν΄λΉ λ©μλλ₯Ό μ¬μ©κ°λ₯
- μ΄λ² μ½λμμλ μ€λ₯κ° λ°μνμ§ μμ
- μ¬κΈ°μ μ£Όλͺ©ν λΆλΆμ __items λ³μμ μλ μ΄λ¦μ΄ μλ itemsλ‘ νΈμΆνλ€λ κ²
- λ°λ‘ ©propertyλ₯Ό λΆμΈ ν¨μ μ΄λ¦μΌλ‘ μ€μ __itemsλ₯Ό μ¬μ©ν μ μλ κ²
- μ΄λ κΈ°μ‘΄ private λ³μλ₯Ό λꡬλ μ¬μ©ν μ μλ public λ³μλ‘ λ°κΎΈλ λ°©λ² μ€ νλ