Skip to Content
Suffering builds character

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