μΆμν΄λμ€λ?
μΆμ λ©μλλ₯Ό μ μΈνμ¬ μμμ ν΅ν΄μ μμ ν΄λμ€μμ μμ±μ μ λνλ ν΄λμ€μ΄λ€. ν κ° μ΄μμ μΆμλ©μλλ₯Ό κ°μ§μ§λ§ ꡬν λ λ©μλλ μ μκ° κ°λ₯νλ€.
- λ―Έμμ± μ€κ³λ
- μμμ μν ν΄λμ€μ΄κΈ° λλ¬Έμ λ°λ‘ κ°μ²΄λ₯Ό μμ±ν μ μλ€.
- μΆμλ©μλλ μ μΈλ§λλ©° ꡬνλμ§ μμ λΆμμ ν λ©μλμ΄λ―λ‘ κ°μ²΄λ₯Ό μμ±νμ§ λͺ»νλ€.
μΈν°νμ΄μ€λ?
μμμ μΆμ λ©μλμ μ§ν©μ΄λ€. μ¦, λ‘μ§μ μμ±ν μ μλ€.
- κΈ°λ³Έ μ€κ³λ
- μΌμ’ μ μΆμ ν΄λμ€λ‘, μΆμ λ©μλλ₯Ό κ°μ§λ§ μΆμ ν΄λμ€λ³΄λ€ μΆμν μ λκ° λλ€.
- μΆμ ν΄λμ€μ²λΌ λ€λ₯Έ ν΄λμ€λ₯Ό μμ±νλλ° λμμ μ£Όλ λͺ©μ μΌλ‘ μμ±νλ€.
- λ€μ€ μμ(ꡬν)μ΄ κ°λ₯νλ€.
- μμ±μλ₯Ό κ°μ§ μ μμΌλ©° κ°μ²΄νκ° λΆκ°λ₯νλ€.
μΆμν΄λμ€ μΈν°νμ΄μ€ μ°¨μ΄μ
μ¬μ©μλ μ°¨μ΄μ
μΆμν΄λμ€λ IS - A "~μ΄λ€."
μΆμν΄λμ€λ μμν κ° κ°μ²΄λ€μ 곡ν΅μ μ μ°Ύμ μΆμνμμΌ λμ κ²μ΄λ―λ‘ κ°μ μν μ κ°μ§μ§λ§ νμ₯μ΄ νμν κ²½μ° μ¬μ©νλ€.
→ μμλ°μ κΈ°λ₯μ μ΄μ©νκ³ , νμ₯μν€κΈ° μν΄ μ¬μ©νλ€.
μΈν°νμ΄μ€λ HAS - A "~μ ν μ μλ"
μΈν°νμ΄μ€λ μμ κ΄κ³λ₯Ό μ νκ³ μ¬λΌκ°μλ λ€λ₯Έ μ‘°μν΄λμ€λ₯Ό μμνλλ° κ°μ κΈ°λ₯μ΄ νμν κ²½μ° μ¬μ©νλ€.
→ ν΄λμ€μ λ³λλ‘ κ΅¬ν κ°μ²΄κ° κ°μ λμμ΄ κ°λ₯νλ€λ κ²μ 보μ₯νκΈ° μν΄ μ¬μ©νλ€. (λ€νμ±)
→ ꡬν κ°μ²΄μ κ°μ λμμ 보μ₯νκΈ° μν΄ μ¬μ©νλ€.
μ κ·Όμ
μΆμ ν΄λμ€μμλ static μ΄λ final μ΄ μλ νλλ₯Ό κ°μ§ μ μκ³ , public , protected , private λͺ¨λ κ°μ§ μ μλ€.
μΈν°νμ΄μ€μμλ λͺ¨λ λ³μλ public static final, λͺ¨λ λ©μλλ public abstract μ΄λ€.
λ€μ€ μμ μ¬λΆ
μΈν°νμ΄μ€λ λ€λ₯Έ μ¬λ¬κ° μΈν°νμ΄μ€λ₯Ό ν¨κ» ꡬνν μ μλ€.
μΆμ ν΄λμ€λ λ€μ€ μμμ μ§μνμ§ μλλ€.
ꡬμ±
μΆμ ν΄λμ€ : μΌλ° λ³μ + μΌλ° λ©μλ + μΆμ λ©μλ (λ©μλ λΆλΆ ꡬν κ°λ₯)
μΈν°νμ΄μ€ : μμ + μΆμ λ©μλ (λ©μλ μ μΈλ§ κ°λ₯)
μΆμν΄λμ€ μΈν°νμ΄μ€ 곡ν΅μ
λ λ€ κ°μ§κ³ μλ μΆμ λ©μλλ₯Ό ꡬννλλ‘ κ°μ νλ€.
μκΈ° μμ μ΄ newλ₯Ό ν΅ν΄ κ°μ²΄λ₯Ό μμ±ν μ μλ€.
μ μΈλ§ μκ³ , ꡬν λ΄μ©μ΄ μλ€.