3. 확장, extends
그렇다면 왜 inheritance가 아닌 extends 키워드를 사용하는지?
고래는 나이(age) 뿐만 아니라 고래만의 고유한 특성인 숨구멍(?) 을 가지고 있음
Whale.java
class Whale {
String blowhole;
}→ 결국 고래는 자신의 특성으로 나이와 숨구멍을 가지고 있는 구조가 됨
Animal 클래스를 상위 클래스(super), Whale 클래스를 하위 클래스(this)라고 표현한다고 할 경우,
확장(extends)이란 개념이 기존의 개념보다 더 넓다는 의미를 가지는 것처럼,
하위 클래스인 Whale은 상위 클래스인 Animal의 특성인 age를 물려받으면서(상속, inheritance), 자신만의 특성인 blowhole을 추가, 다른 말로 자신만의 특성을 확장(extends)했다고 볼 수 있음
왜냐하면 하위 클래스는 상위 클래스가 가진 특성의 개수보다 항상 같거나 더 많기 때문
Animal 클래스의 특성 개수 - age(1개) Whale 클래스의 특성 개수 - age, blowhole(2개)
"하위 클래스의 특성 개수 ≥ 상위 클래스의 특성 개수"
Last updated on