class 오리 {
void 날다() {
System.out.println("오리가 날아갔다.");
}
}
class 흰오리 extends 오리 {}
class 청둥오리 extends 오리 {} // 흰오리 청둥오리 모두 오리를 부모로 두고 있음
class 고무오리 extends 오리 {
void 날다() {
System.out.println("고무오리는 못날아 ㅠㅠ");
}
}
이 경우 고무오리도 흰오리, 청둥오리와 마찬가지로 오리를 부모로 두고 있지만
고무오리 a고무오리 = new 고무오리();
a고무오리.날다();
// 출력값 : 고무오리는 못날아 ㅠㅠ
'날다' 의 출력값을 다르게 하고싶은 경우 고무오리 class 안에 날다를 새롭게 지정하면 된다.
부모에 같은 함수가 있으나 고무오리 안에 있는 함수가 우선순위!
이것을 '오버라이드' 라고 한다.