πκ°μ
νμ°½ νλ‘μ νΈλ₯Ό νλ©° μ€νλ§κ³Ό κ°μ²΄μ§ν₯μ μ νκ³ νμ© νμ λ, μμ‘΄μ±μ κ΄ν κ³ λ―Όμ λ§€μ° λ§μ΄ νμλ€. κ·Έλ¬λ λμ€ μ νλΈμμ μ°μν κ°μ²΄μ§ν₯ by μ‘°μνΈλμ μΈλ―Έλλ₯Ό λ£κ³ , κ·Έλμ νλ‘μ νΈλ₯Ό μ§ννλ©΄μ μ΄κ²λ§λ? λΌκ³ μκ°νλ μ€νλλ€μ΄ νλνλ νλ¦¬κ² λλ©΄μ μ
μ λ²λ¦° μνλ‘ λ³΄λ©° μ 리νμλ μ μ΄ μλ€. κ·Έλμ λ΄μ©μ κ³±μΉμΌλ©΄μ λ€μ μ 리 ν΄λ³΄μκ³ μκ°νλ€.
πμμ‘΄μ±μ μ΄μ©ν΄ μ€κ³ μ§νμν€κΈ°
μ€κ³
→ μ½λλ₯Ό μ΄λ»κ² λ°°μΉν κ²μΈκ°?
→ ν΅μ¬μ λ³κ²½μ μ΄μ μ λ§μΆλ€. κ°μ΄λ³κ²½λλ μ½λλ₯Ό κ°μ΄ λ£κ³ λ³κ²½λμ§ μλμ½λλ₯Ό λ°λ‘ λ£μ΄μΌ νλ€.
μμ‘΄μ±
μμ‘΄μ±μ΄ μλ€λΌλ κ²μ μμ κ·Έλ¦Όμμ Bκ° λ³κ²½λ λ Aλ ν¨κ» λ³κ²½λ κ°λ₯μ±μ΄ μλ κ²μ λ§νλ€. νμ§λ§ κΌ μν₯μ μ£Όλ κ²μ΄ μλλΌ κ°λ₯μ±μ΄ μλ κ²μ λ§νλ€.
πν΄λμ€ μμ‘΄μ±
μ°κ΄ κ΄κ³(μꡬμ )
class A{
private B b;
}
μμ‘΄ κ΄κ³(μΌμμ )
class A{
public B method(B b){
return new B();
}
}
μμκ΄κ³
class A extends B{
}
μ€μ²΄νκ΄κ³
class A implements B{
}
πν¨ν€μ§ μμ‘΄μ±
μ΄λ€ ν¨ν€μ§ λ΄μ μλ ν΄λμ€κ° λ€λ₯Έ ν¨ν€μ§μ μλ ν΄λμ€μ μμ‘΄μ±μ΄ μμΌλ©΄ κ·Έ ν¨ν€μ§κ°μ μμ‘΄μ±μ΄ μλ€κ³ νννλ€.
πμ’μ μμ‘΄μ±κ΄λ¦¬λ₯Ό μν κ·μΉ
- μλ°©ν₯ μμ‘΄μ±μ νΌν΄λΌ
- Aκ° λ°λλ, Bλ λ°λκ³ , Bκ° λ°λλ Aλ λ°λλ€.
- λ μμ’μ건 Aμ Bμνλ₯Ό νμ λκΈ°νμμΌμ€μΌνλ€.(μ±λ₯ μ΄μ)
- λ€μ€μ±μ΄ μ μ λ°©ν₯μ μ ννλΌ
- μ±λ₯μ΄μ, κ°μ²΄λ€μ κ΄κ³λ₯Ό μ μ§νκΈ°μν΄ λ§μ λ
Έλ ₯λ€μ΄ νμνλ€.
- μμ‘΄μ±μ΄ μμμμ μ κ±°νλΌ
- ν¨ν€μ§ μ¬μ΄μ μμ‘΄μ± μ¬μ΄ν΄μ μ κ±°νλΌ
*μ€κ³μμ κ°μ₯ μ€μν건 λ³κ²½
μ°Έκ³ μμ