위는 잘못된 예시 😮😮
일반적인 상속과의 프로그래밍에서의 차이
- 일반적인 상속의 개념에서
할아버지 -> 아버지 -> 아들
같은 혈통의 연속성을 흔히들 생각할텐데..
- OOP 에서는 상속은 이러한 것을 상속이라고 하지 않음
올바른 상속의 이해
동물
은 포유류의 부모나 상위 분류가 아님!!!!!
- 동물이라는 큰 범주 내에서 포유류와 조류 같은 세부 분류가 있을 뿐임!
- OOP 에서의 상속은 상위 클래스의 특성을 하위 클래스에서
재사용하고
,필요한 특성을 추가로 확장
하는 것을 말함.
오해하기 쉬운 상속의 용어..
클래스의 특성을 상속한다
표현에서특성
을 누락하고클래스를 상속한다
라고 오해한다고 합니다.- 이 결과
부모- 자식 관계
라는 잘못된 표현이 등장함.
- 이 결과
- 부모와 자식 클래스보다
슈퍼 클래스
→서브 클래스
라는 용어 혹은
상위 클래스
→하위 클래스
라는 용어가 좋다
상속관계의 핵심
하위 클래스는 상위 클래스다
- 하위 클래스가 상위 클래스의 모든 특성과 기능을 물려받았기에, 상위 클래스로서의 역할도 가능하다는 의미
- 조직도 VS 분류도
- 조직도
- 아버지는 할아버지, 아들은 아버지다
- 딱봐도 틀려먹었다
- 분류도
- 포유류는 동물, 고래는 포유류다
- O.O
- 조직도
리스코프 치환 원칙(LSP)
하위 클래스는 상위 클래스
- 로버트 C. 마틴이 제시한 SOLID ( 객체 지향 설계원칙 ) 원칙 중 하나인 LSP 와 관련있음
- 하위 클래스가 상위 클래스를 완벽히 대체 가능해야함
자바에서의 상속
- 우리가 상속을 사용할 때,
extends
라는 키워드를 사용한다.
- 이는
확장
의 개념이지 절대Inheritance
==상속
의 개념이 아니다!.
Uploaded by N2T
'자바 > 스프링입문객체지향' 카테고리의 다른 글
[3단원]클래스 멤버 vs. 객체 멤버 = static 멤버 vs. 인스턴스 멤버 (0) | 2023.08.22 |
---|---|
[3단원]상속의 강력함 (0) | 2023.08.22 |
[3단원]추상화와 T 메모리 (0) | 2023.08.20 |
추상화는 모델링이다 (0) | 2023.08.20 |
추상화: 모델링 (0) | 2023.08.20 |