728x90
- 기능의 처리를 실제로 담당하는 클래스 - ‘컨트롤(Control) 클래스’ 또는 ‘핸들러(Handler) 클래스’
- A 클래스가 B 클래스를 상속하게 되면, A 클래스는 B 클래스가 지니고 있는 모든 멤버를 물려받는다. 즉, A 객체는 A 클래스에 선언된 멤버 외 B 클래스에 선언 된 멤버도 존재하게 된다.
A 클래스
상위 클래스
기초(Base) 클래스
슈퍼(Super) 클래스
부모 클래스
B클래스
하위 클래스
유도(Derived) 클래스
서브 클래스
자식 클래스
- 기초와 유도라는 말을 자주 사용한다.
- 유도 클래스의 객체생성 과정에서 기초 클래스의 생성자는 100% 호출된다
- 유도 클래스의 생성자에서 기초 클래스의 생성자 호출을 명시하지 않으면, 기초 클래스의 void 생성자가 호출된다.
- 클래스 멤버는 해당 클래스의 생성자를 통해서 초기화해야 한다.
- 유도 클래스의 객체가 소멸될 떄는, 유도 클래스의 소멸자가 실행되고 난 다음에 기초 클래스의 소멸자가 실행된다.
- 기초 클래스와 이를 상속하는 유도 클래스 사이에서도 ‘정보은닉’은 지켜지는 게 좋다.
- 상속을 위한 기본 조건인 IS-A 관계의 성립
- 기초 클래스와 유도 클래스간에 IS-A 관계가 성립해야 한다.
- IS-A는 추상화(형식이나 클래스와 같은)들 사이의 포함 관계를 의미하며, 한 클래스 A가 다른 클래스 V의 서브임을 이야기한다.
- 무선 전화기는 일종의 전화기이다
- 노트북 컴퓨터는일종의 컴퓨터이다
- 기초 클래스와 유도 클래스간에 IS-A 관계가 성립해야 한다.
- HAS-A 관계도 상속의 조건은 되지만 복합 관계로 이를 대신하는 것이 일반적이다.
- 상속으로 묶인 두 개의 클래스는 강한 연관성을 띤다
728x90
'언어 > C++' 카테고리의 다른 글
가상(Virtual)의 원리와 다중상속 (0) | 2023.01.31 |
---|---|
8. 상속과 다형성 (0) | 2023.01.26 |
6. 클래스의 완성 (0) | 2023.01.19 |
5. 연산자 다중정의 (0) | 2023.01.17 |
4. 복사 생성자 & 임시객체 (0) | 2023.01.17 |