※ 본 글은 아래 도서를 공부한 후 정리한 내용입니다.
📚 스프링 입문을 위한 자바 객체지향의 원리와 이해
객체 지향에서 상속은 부모 - 자식 관계가 아닌 상위 클래스의 특성을 하위 클래스에 상속(특성 상속)하고 거기에 더해 필요한 특성을 추가, 즉 확장해서 사용할 수 있는 것이다. 예를 들어 동물의 분류를 조금 더 세분화 해서 포유류와 조류가 나오고 포유류를 조금 더 분류해서 고래, 박쥐가 나오는 것과 같은 의미이다.
👉 부모 클래스 - 자식 클래스라는 표현 보단 상위 클래스 - 하위 클래스 or 슈퍼 클래스 - 서브 클래스라는 표현을 사용하자 ❕❗
상위 클래스로 갈수록 추상화(공통 속성을 뽑아낸다), 일반화 됐다고 말하며, 하위 클래스 쪽으로 갈수록 구체화, 특수화 됐다고 한다.
↪ 위의 세 문장은 부자연스럽다.
↪ 위의 세 문장은 자연스러운 것을 알 수 있다.
자바에서는 inheritance(상속)라는 키워드는 존재하지 않는다. 대신 extends(확장)를 사용한다.
🖊 하위 클래스 is a kind of 상위 클래스
객체 지향의 상속은 상위 클래스의 특성을 재사용하는 것!
객체 지향의 상속은 상위 클래스의 특성을 확장하는 것!
객체 지향의 상속은 is a kind of 관계를 만족해야 함!