λ€νμ± - Override
1. Overrideλ
- λΆλͺ¨ ν΄λμ€κ° κ°κ³ μλ κΈ°λ₯μ μμ ν΄λμ€κ° μ¬μ μ
- λΆλͺ¨ ν΄λμ€μ μ μλ κ²κ³Ό λμΌν μ΄λ¦μ κ°λ λ©μλλ₯Ό μμ ν΄λμ€κ° μ μν κ²½μ°,
λΆλͺ¨ ν΄λμ€μ κΈ°λ₯μ μμμκ² κ°λ €μ§λ€.
- μ΄λ κ² λΆλͺ¨μ κΈ°λ₯μ μ¬μ μ νλ κ²μ λ©μλ OverrideλΌ νλ€.
- λͺ¨λ μμ ν΄λμ€κ° λμΌν μ΄λ¦μ λ©μλλ₯Ό κ°κ²λλ―λ‘ κ° κ°μ²΄μ λνμ¬
attack() μ΄λΌλ μ΄λ¦μ μ¬μ©νμ¬ μλ‘ λ€λ₯Έ ννλ₯Ό ꡬνν μ μκ² λλ€.

2. Super ν€μλ
- ν΄λμ€μ μμκ΄κ³μμ μμ ν΄λμ€κ° λΆλͺ¨ ν΄λμ€λ₯Ό κ°λ¦¬ν€λ μμ½μ΄
- μ¬μ©λ°©λ²
- λ©€λ²λ³μ μ΄λ¦ μμ λͺ
μ
- λΆλͺ¨ν΄λμ€μ λ©€λ²λ³μλ₯Ό μλ―Ένλ€. νμ§λ§ λΆλͺ¨ν΄λμ€μ λ©€λ²λ³μλ μ΄λ―Έ λͺ¨λ μμλμ΄ μκΈ° λλ¬Έμ μ΄κ²½μ°μλ this ν€μλλ₯Ό μ¬μ©νλ κ²κ³Ό λμΌν κ²°κ³Όμ΄κΈ°μ μ μ¬μ©νμ§ μλλ€.
- λ©μλ μ΄λ¦ μμ λͺ
μ
- λΆλͺ¨ ν΄λμ€μ λ©μλλ₯Ό μλ―Ένλ€.
- μ¬μ μ λμ§ μμ λ©μλλ(μ€λ²λΌμ΄λ μλ)
- μ΄λ―Έ μμλμ΄ μκΈ° λλ¬Έμ this ν€μλλ₯Ό μ¬μ©νλ κ²κ³Ό λμΌν κ²°κ³Όλ₯Ό κ°λλ€.
- μ¬μ μ λ λ©μλ(μ€λ²λΌμ΄λλ)
- Overrideλ λ©μλ μ΄λ¦ μμ μ¬μ©νκ² λλ©΄
μ¬μ μ λκΈ° μ΄μ μ μλ³Έ λ©μλλ₯Ό μλ―Ένλ€.
class Hello{
public void say(){
System.out.println("Hello");
}
}
class Korean extends Hello{
public void say(){
System.out.println("μλ
νμΈμ");
}
public void sayHello(){
super.say();
this.say();
}
}
-> ν€μλ μ체λ₯Ό λ©μλμ²λΌ μ¬μ©
- λΆλͺ¨ν΄λμ€μ μμ±μλ₯Ό μλ―Έ
- super();
3. μμ κ΄κ³μμμ μμ±μ μ²λ¦¬
- μμ±μκ° μ μλ ν΄λμ€μ μμ μ ν
- νμ§λ§ μμ±μκ° μ μλ ν΄λμ€λ κ°μ²΄ μμ±μ μν΄μ μμ±μ νλΌλ―Έν°λ₯Ό λ°λμ
μ λ¬λ°μμΌ νκΈ° λλ¬Έμ νλΌλ―Έν°λ₯Ό κ°λ μμ±μκ° μ μλ ν΄λμ€λ₯Ό μμλ°κ² λλ©΄ μλ¬κ° λ°μνλ€.
4. λΆλͺ¨ μμ±μμ κ°μ νΈμΆ
- μμ±μκ° μ μλ ν΄λμ€λ₯Ό μμλ°μ κ²½μ°μλ
μμ ν΄λμ€μ μμ±μλ₯Ό ν΅ν΄μ λΆλͺ¨ μμ±μλ₯Ό κ°μ λ‘ νΈμΆν΄μΌ νλ€.
- λΆλͺ¨μ μμ±μλ₯Ό νΈμΆνλ λ°©λ²μ superν€μλλ₯Ό λ©μλ μ΄λ¦μΌλ‘ μ¬μ©νλ κ²μ΄λ€.
package override;
class Hello3{
public Hello3(String name) {
System.out.println(name);
}
}
class Korean3 extends Hello3 {
public Korean3(String name) {
super(name);
}
}
5. @Override
- λ©μλ μ¬μ μ κ³Όμ μμ μ€ν λ°©μ§ μ΅μ
- @Overrideλ ν€μλκ° λͺ
μλ μμΉ μλμ μ μλλ λ©μλκ°
λΆλͺ¨ ν΄λμ€μ μ‘΄μ¬νμ§ μμ κ²½μ° κ΅¬λ¬Έ μλ¬λ‘ μ²λ¦¬νλ€.
- λΆλͺ¨ ν΄λμ€μ λ©μλλ₯Ό μ¬μ μ νκ³ μ ν κ²½μ°,
μλμΉ μμ μ€μλ₯Ό μλ°©νκΈ° μν'μ€νλ°©μ§ μ΅μ
'μ΄λ€
- μ¬λ¬ κ°μ λ©μλλ₯Ό μ¬μ μ νλ€λ©΄ μ¬μ μ λλ λͺ¨λ λ©μλλ€ μμ κ°κΈ° λͺ
μν΄μΌ νλ€.