πμμ
- λ€λ₯Έ ν΄λμ€κ° κ°μ§κ³ μλ λ©€λ²(νλ, λ©μλ)λ€μ μλ‘ μμ±ν ν΄λμ€μμ μ§μ λ§λ€μ§ μκ³
μμμ λ°μ μ ν΄λμ€κ° λ³ΈμΈμ λ©€λ²μ²λΌ μ¬μ©ν μ μλ κΈ°λ₯
- ν΄λμ€ κ°μ μμμ extends ν€μλ μ¬μ©
- λΆλͺ¨ ν΄λμ€μ λ©μλ importμμ΄ νΈμΆ κ°λ₯
- λͺ¨λ ν΄λμ€λ Objectν΄λμ€μ μμ ν΄λμ€
package μ μΈλΆ
μ κ·Όμ νμ class ν΄λμ€λͺ
extends ν΄λμ€λͺ
{}
- ν΄λμ€ λ€μ΄μ΄κ·Έλ¨
ν΄λμ€μ μμ : μ€μ + λΉ μΈλͺ¨
- μμ ββ· λΆλͺ¨
- νμ ββ· μ‘°μ
- νμ ββ· μμ
- this ββ· super
πμμμ λͺ©μ
- ν΄λμ€μ μ¬μ¬μ©
- μ°κ΄λ μΌλ ¨μ ν΄λμ€λ€μ λν 곡ν΅μ μΈ κ·μ½ μ μ
πμμμ μ₯μ
- λ³΄λ€ μ μ μμ μ½λλ‘ μλ‘μ΄ ν΄λμ€ μμ± κ°λ₯
- μ½λλ₯Ό 곡ν΅μ μΌλ‘ κ΄λ¦¬νκΈ°λλ¬Έμ μ½λμ μΆκ° λ° λ³κ²½ μ©μ΄
- μ½λμ μ€λ³΅μ μ κ±°νμ¬ νλ‘κ·Έλ¨μ μμ°μ±κ³Ό μ μ§λ³΄μμ κΈ°μ¬
πλ¨μΌμμ
- ν΄λμ€κ°μ κ΄κ³κ° λ€μ€ μμλ³΄λ€ λͺ
ννκ³ μ λ’°μ±μλ μ½λ μμ±
- μλ°μμλ ν΄λμ€κ°μ λ€μ€μμ λΆκ°
- super.
- μμμ ν΅ν μμ ν΄λμ€ μ μμ ν΄λΉ μμ ν΄λμ€μ λΆλͺ¨ κ°μ²΄λ₯Ό κ°λ¦¬ν€λ μ°Έμ‘°λ³μ
- μμ ν΄λμ€ λ΄μμ λΆλͺ¨ ν΄λμ€ κ°μ²΄μ μ κ·Όνμ¬ νλλ λ©μλ νΈμΆμ μ¬μ©
- super()
- λΆλͺ¨ κ°μ²΄μ μμ±μλ₯Ό νΈμΆνλ λ©μλ
- κΈ°λ³Έμ μΌλ‘ μμ μμ±μμ λΆλͺ¨ μμ±μ ν¬ν¨
λ°λΌμ λΆλͺ¨ ν΄λμ€μ κΈ°λ³Έ μμ±μ μμΌλ©΄ μμ ν΄λμ€μλ κΈ°λ³Έ μμ±μ μμ± λΆκ°
- μμ κ°μ²΄ μμ±μ λΆλͺ¨ κ°μ²΄κ° λ¨Όμ μμ±λκ³
κ·Έ ν μμκ°μ²΄κ° λΆλͺ¨λ₯Ό κ°μΈλ ννλ‘ Heapμμμ μμ±
λ°λΌμ μμ ν΄λμ€ μμ±μ μμλ λΆλͺ¨ μμ±μλ₯Ό νΈμΆνλ super()κ° μ²« μ€μ μ‘΄μ¬
- λ§€κ°λ³μ μλ λΆλͺ¨ μμ±μ νΈμΆμ super(λ§€κ°λ³μ, λ§€κ°λ³μ);
package μ μΈλΆ
public class Son extends Mom {
private name;
public Son() {
/*Mom();*/
}
public Son(String address, String tel, String name){
super.setAddress(address);
super.setTel(tel);
this.name = name;
super(address, tel);
this.name = name;
}
}
πfinal μμ½μ΄
- final ν΄λμ€
- μμμ΄ λΆκ°λ₯ν ν΄λμ€
package μ μΈλΆ
public final class ν΄λμ€λͺ
{}
- final λ©μλ
- μμ μ μ€λ²λΌμ΄λ©μ΄ λΆκ°λ₯ν λ©μλ
package μ μΈλΆ
Class μμ±λΆ
public final void λ©μλλͺ
() {}
πμ€λ²λΌμ΄λ©
- λΆλͺ¨ν΄λμ€μ μλ λ©μλλ₯Ό μμν΄λμ€μμ μ¬μ μνλκ²
- μμ κ°μ²΄λ₯Ό ν΅ν μ€νμ νμμ λ©μλκ° μ°μ κΆμ κ°μ§
- λ©μλ ν€λλΌμΈ μμ AnnotationμΈ
@Override
κΈ°μ
μμ λ©μλ κΈ°μ μ μ€νκ° μκ±°λ λΆλͺ¨ λ©μλ μ΄λ¦μ΄ λ³κ²½λμ κ²½μ° μ€λ₯λ₯Ό λ°μμμΌμ€
μ±λ¦½μ‘°κ±΄
- λΆλͺ¨ ν΄λμ€μ μμ ν΄λμ€μ
λ©μλ μ΄λ¦
, λ§€κ°λ³μμ κ°μ, νμ
, λ¦¬ν΄ νμ
μ΄ λμΌ
- μμ λ©μλμ μ κ·Ό λ²μκ° λΆλͺ¨ λ©μλμ μ κ·Ό λ²μλ³΄λ€ ν¬κ±°λ κ°μ κ²½μ°
- μμ λ©μλμ μμΈ μκ° λΆλͺ¨ λ©μλμ μμΈ μλ³΄λ€ μ κ±°λ λ²μκ° μ’μ κ²½μ°
λ¨, private λ©μλλ μ€λ²λΌμ΄λ© λΆκ°
- μ€λ²λΌμ΄λ©κ³Ό μ€λ²λ‘λ©
μ€λ²λΌμ΄λ©(Overriding) | μ€λ²λ‘λ©(Overloading) |
---|
νμ ν΄λμ€μμ λ©μλ μ μ | κ°μ ν΄λμ€μμ λ©μλ μ μ |
λ©μλ μ΄λ¦ λμΌ λ§€κ°λ³μ κ°μ, νμ
λμΌ λ¦¬ν΄ νμ
λμΌ | λ©μλ μ΄λ¦ λμΌ λ§€κ°λ³μ κ°μ, νμ
λ€λ¦ λ¦¬ν΄ νμ
μκ΄ μμ |
μμ λ©μλμ μ κ·Ό λ²μκ° λΆλͺ¨ λ©μλμ μ κ·Ό λ²μλ³΄λ€ ν¬κ±°λ κ°μμΌ ν¨ | μ κ·Όμ νμμ μκ΄ μμ |
μμ λ©μλμ μμΈ μκ° λΆλͺ¨ λ©μλμ μμΈ μλ³΄λ€ μ κ±°λ λ²μκ° μ’μμΌ ν¨ | μμΈμ²λ¦¬ μκ΄ μμ |