π·οΈμμ
κΈ°μ‘΄ ν΄λμ€μ νλμ λ©μλλ₯Ό μλ‘μ΄ ν΄λμ€μμ μ¬μ©ν μ μλλ‘ νλ κΈ°λ₯
'is-a' κ΄κ³
- ν΄λμ€ μμμ ν΅ν΄ μ½λ μ¬μ¬μ©, νμ₯, μμ μ μ©μ΄νκ² ν¨.
- μλ°μμλ λ¨μΌ μμλ§ μ§μνλ©° νλμ ν΄λμ€λ μ€μ§ νλμ λΆλͺ¨ ν΄λμ€λ§ κ°μ§ μ μμ.
extends ν€μλ μ¬μ©
μμμ λͺ©μ λ° νμμ±π§
- μ½λ μ¬μ¬μ©: κΈ°μ‘΄ ν΄λμ€λ₯Ό μ¬μ©ν΄ μλ‘μ΄ ν΄λμ€ μμ±
- μ½λ νμ₯: μλ‘μ΄ κΈ°λ₯ μΆκ°
- μ μ§ λ³΄μ μ©μ΄: μ€λ³΅ μ½λ κ°μ, κ°λ
μ±κ³Ό μ μ§ λ³΄μμ± ν₯μ
- λ€νμ± κ΅¬ν: λΆλͺ¨ ν΄λμ€ νμ
μ μ°Έμ‘° λ³μλ‘ μμ ν΄λμ€ κ°μ²΄ μ°Έμ‘° κ°λ₯
- κ³μΈ΅μ ꡬ쑰 νν: μ½λ ꡬ쑰 μ΄ν΄νκΈ° μ½λλ‘ ν¨
π·οΈλΆλͺ¨ ν΄λμ€
μμ ν΄λμ€κ° μμλ°λ ν΄λμ€
- λΆλͺ¨ ν΄λμ€μ private νλλ λ©μλλ μμ X β‘οΈ protectedμΈ κ²½μ° κ°λ₯
- λΆλͺ¨ ν΄λμ€μ μμ±μμ μ΄κΈ°ν λΈλ‘μ μμλμ§ μμΌλ©°, κ° μμ ν΄λμ€μ μμ±μμμ νΈμΆλ¨
π·οΈμμ ν΄λμ€
λΆλͺ¨ ν΄λμ€μ νλμ λ©μλλ₯Ό μμλ°λ ν΄λμ€
- λΆλͺ¨ ν΄λμ€μ νλμ λ©μλλ₯Ό κ·Έλλ‘ μ¬μ©νκ±°λ, νμμ λ°λΌ μ€λ²λΌμ΄λ©νμ¬ λ³κ²½νμ¬ μ¬μ© κ°λ₯.
class Animal {
public void eat() {
System.out.println("Eating...");
}
}
class Dog extends Animal {
public void bark() {
System.out.println("Barking...");
}
}
public class Main {
public static void main(String[] args) {
Dog myDog = new Dog();
myDog.eat();
myDog.bark();
}
}
π·οΈμ€λ²λΌμ΄λ©
μμ ν΄λμ€μμ λΆλͺ¨ ν΄λμ€μ λ©μλλ₯Ό μ¬μ μνλ κ²
- μ€λ²λΌμ΄λ© λ λ©μλλ λΆλͺ¨ ν΄λμ€μ λ©μλμ μ΄λ¦, λ§€κ°λ³μ, λ°ν νμ
μ΄ κ°μμΌ ν¨.
- λΆλͺ¨ ν΄λμ€μ λ©μλλ₯Ό μμ ν΄λμ€μμ μ¬μ μνλ©΄ λΆλͺ¨ ν΄λμ€μ λ©μλ λμ μμ ν΄λμ€μ λ©μλκ° νΈμΆλ¨.
super ν€μλλ₯Ό μ¬μ©νμ¬ μ€λ²λΌμ΄λ© λ λΆλͺ¨ ν΄λμ€μ λ©μλλ₯Ό νΈμΆν μ μμ.
private, final, static λ©μλλ μ€λ²λΌμ΄λ© ν μ μμ.
π·οΈμ€λ²λ‘λ©
κ°μ μ΄λ¦μ λ©μλλ₯Ό μ¬λ¬ κ° μ μνλ, λ§€κ°λ³μμ νμ
, μμλ κ°μκ° λ€λ₯Έ κ²
- μ€λ²λ‘λ©μ ν΅ν΄ κ°μ κΈ°λ₯μ νλ λ©μλμ μ΄λ¦μ ν΅μΌν μ μμ΄ μ½λμ κ°λ
μ±μ΄ λμμ§.