3λ²μ§Έ κ³Όμ
μ€λ²λΌμ΄λ©μ΄λ?
- μ‘°μ ν΄λμ€λ‘λΆν° μμλ°μ λ©μλμ λ΄μ©μ λ³κ²½νλ κ²μ΄λ€.
@Override μ΄λ Έν μ΄μ μ΄λ?
- μ»΄νμΌλ¬μκ² μ€λ²λΌμ΄λ©νλ λ©μλλΌλ κ²μ μλ¦°λ€.
μ€λ²λΌμ΄λ©μ ꡬνν λ @Override μ΄λ Έν μ΄μ μ΄ λ°λμ νμνμ§?
// ννΈ. μλ μ½λλ₯Ό νμ©ν΄λ³΄μ
μ.
class Parent {
public void hello(String name) {
System.out.println("μλ
νμΈμ, μ λ " + name + "μ
λλ€.");
}
}
class Child extends Parent{
// @Overrideκ° μμΌλ©΄ μ΄λ»κ³ μμΌλ©΄ μ΄λ€κ°μ?
public void hello() {
System.out.println("μλ
!");
}
}
1) @Override μ΄λ Έν μ΄μ μ΄ μλ κ²½μ°
- μ€λ₯ λ°μ --> λ©μλκ° override νμ§ μμκ±°λ μ‘°μν΄λμ€μμ λ©μλλ₯Ό ꡬννμ§ μμκΈ° λλ¬Έμ μ€λ₯κ° λ°μνμλ€.
- μμΈ : Parentμμμ helloλ©μλλ String nameμ΄λΌλ 맀κ°λ³μκ° μμ§λ§ Childμ helloλ©μλλ 맀κ°λ³μκ° μ‘΄μ¬νμ§ μκΈ° λλ¬Έμ΄λ€. μ΄ κ²½μ°μλ 맀κ°λ³μμ κ°μκ° λ€λ₯΄κΈ° λλ¬Έμ μ€λ²λ‘λ©μ ν΄λΉνλ€. λ°λΌμ μ€λ²λ‘λ©μΈλ° μ€λ²λΌμ΄λ©μ νλ €ν΄μ μ€λ₯κ° λ°μνμλ€.
2) @Override μ΄λ Έν μ΄μ μ΄ μλ κ²½μ°
- Childμ Parentμ hello() λ©μλ νΈμΆνλ©΄ λ λ€ μ μμ μΌλ‘ μΆλ ₯μ΄ κ°λ₯νλ€
κ²°λ‘ : μ€λ²λΌμ΄λ©μ ꡬνν λ, @Override μ΄λ Έν μ΄μ μ νμνλ€!
μ΄μ : μ€λ²λΌμ΄λ©μ ꡬνν λ, λ©μλμ μ΄λ¦μ μλͺ» μ κ±°λ 맀κ°λ³μκ° μΌμΉνμ§ μμ μ€λ²λ‘λ©λλ κ²½μ°κ° μκΈ° λλ¬Έμ, @Override μ΄λ Έν μ΄μ μ μ¬μ©νλ©΄ μ΄λ¬ν μ€μλ₯Ό μ¬μ μ λ°©μ§ν μ μκΈ° λλ¬Έμ΄λ€.