λ°μν
1. κ°μ²΄μ§ν₯νλ‘κ·Έλ¨(Object Oriented Programming)?
- νλ‘κ·Έλλ°μμ νμν λ°μ΄ν°λ₯Ό μΆμνμμΌ μνμ νμλ₯Ό κ°μ§ κ°μ²΄λ₯Ό λ§λ€κ³ κ·Έ κ°μ²΄λ€ κ°μ μ κΈ°μ μΈ μνΈμμ©μ ν΅ν΄ λ‘μ§μ ꡬμ±νλ νλ‘κ·Έλλ° λ°©λ²
2. OOPμ μ₯, λ¨μ
> μ₯μ
- μ½λ μ¬μ¬μ©μ΄ μ©μ΄
- λ¨μ΄ λ§λ ν΄λμ€λ₯Ό κ°μ Έμμ μ΄μ©ν μ μκ³ μμμ ν΅νμ¬ νμ₯ν΄μ μ¬μ©
- μ μ§λ³΄μκ° μ¬μ
- λν νλ‘μ νΈμ μ ν¨
> λ¨μ
- μ²λ¦¬ μλκ° μλμ μΌλ‘ λλ¦Ό
- κ°μ²΄κ° λ§μΌλ©΄ μ©λμ΄ μ»€μ§ μ μμ
- μ€κ³ μ λ§μ μκ°κ³Ό λ Έλ ₯ νΌμ
3. OOP ν€μλ 5κ°μ§
- ν΄λμ€ + μΈμ€ν΄μ€ (κ°μ²΄)
- ν΄λμ€ : μ΄λ€ λ¬Έμ λ₯Ό ν΄κ²°νκΈ° μν λ°μ΄ν°λ₯Ό λ§λ€κΈ° μν΄ μΆμνλ₯Ό κ±°μ³ μ§λ¨μ μνλ μμ±(attribute)κ³Ό νμ(behavior)λ₯Ό λ³μμ λ©μλλ‘ μ μν κ²μΌλ‘ κ°μ²΄λ₯Ό λ§λ€κΈ° μν λ©νμ 보λΌκ³ λ³Ό μ μλ€.
- μΈμ€ν΄μ€(κ°μ²΄) : ν΄λμ€μμ μ μν κ²μ ν λλ‘ μ€μ λ©λͺ¨λ¦¬μ ν λΉλ κ²μΌλ‘ μ€μ νλ‘κ·Έλ¨μμ μ¬μ©λλ λ°μ΄ν°
- μΆμν (μλ£μ μΆμν)
- μΆμ ν΄λμ€λ μΆμ ν΄λμ€κ° κ°λ μΆμλ©μλλ₯Ό μ미보λ€λ ν΄λμ€λ₯Ό μ€κ³νλ κ² μ체λ₯Ό μλ―Έ
- "곡ν΅μ" μμ±μ΄λ κΈ°λ₯μ λ¬Άμ΄ μ΄λ¦μ λΆμ΄λ κ²
- μΊ‘μν
- μ½λλ₯Ό μ¬μμ μμ΄ μ¬νμ©
- μ κ·Ό μ μ΄μλ₯Ό ν΅ν μ 보 μλ
- μμ
- λΆλͺ¨ν΄λμ€μ μμ±κ³Ό κΈ°λ₯μ κ·Έλλ‘ μ΄μ΄λ°μ μ¬μ©ν μ μκ²νκ³ κΈ°λ₯μ μΌλΆλΆμ λ³κ²½ν΄μΌ ν κ²½μ° μμ λ°μ μμν΄λμ€μμ ν΄λ€ κΈ°λ₯λ§ λ€μ μμ (μ μ)νμ¬ μ¬μ© ν μ μκ² νλ κ²
- λ€νμ±
- νλμ λ³μλͺ , ν¨μλͺ λ±μ μν©μ λ°λΌ λ€λ₯Έ μλ―Έλ‘ ν΄μ
- μ€λ²λΌμ΄λ© : λΆλͺ¨ν΄λμ€μ λ©μλμ κ°μ μ΄λ¦, 맀κ°λ³μλ₯Ό μ¬μ μ
- μ€λ²λ‘λ© : κ°μ μ΄λ¦μ ν¨μλ₯Ό μ¬λ¬κ° μ μ, 맀κ°λ³μμ νμ κ³Ό κ°μλ₯Ό λ€λ₯΄κ² νμ¬ λ§€κ°λ³μμ λ°λΌ λ€λ₯΄κ² νΈμΆ
λ°μν