관리 메뉴

ComputerVision Jack

[C++프로그래밍 Chapter7] 본문

Programming Language/C++ Programming

[C++프로그래밍 Chapter7]

JackYoon 2020. 1. 28. 10:19
반응형

[상속Inheritance]

상속 : 기존에 정의해 놓은 클래스의 재활용을 목적으로 만들어진 문법적 요소.

 

컨트롤 클래스

기능의 처리를 실제로 담당하는 클래스

컨트롤 클래스를 통하여 프로그램의 기능을 대략적으로 판단 할 수 있다.

 

[상속의 문법]

Two 클래스가 One클래스를 상속한다.

Two클래스는 One클래스가 가지고 있는 모든 멤버 변수를 물려받는다.

Two클래스는 One클래스 멤버 변수 외에도 자기 자신이 갖고 있는 멤버 변수도 존재 한다.

Class Two : public One{ }; - public 상속

 

상속을 하게 되면, 상속의 대상이 되는 클래스의 멤버까지 객체 내에 포함 할 수 있다.

따라서 상속받는 클래스를 초기화 할 경우, 상속하는 클래스 멤버 까지 초기화 해야 한다.

 

Two클래스 생성자를 통하여 One클래스 생성자를 호출하여 초기화한다.

하지만 상속 관계라도 상속하는 객체의 private 멤버 변수에 접근은 어렵다.

 

Two                 One

상위 클래스       하위 클래스

기초 클래스       유도 클래스

슈퍼 클래스       서브 클래스

부모 클래스       하위 클래스

#상속 관계의 용어

 

유도 클래스의 객체 생성 과정에서 기초 클래스의 생성자는 100% 호출된다.

기초 클래스 생성자 호출을 명시하지 않으면 void 생성자가 호출 된다.

 

객체 소멸 시, 유도 클래스 소멸자가 실행되고, 기초 클래스의 소멸자가 실행된다.

소멸순서는 생성 순서와 반대이다.

[Protected 선언]

C++ 접근 지시자

private < protected < public 허용 하는 접근 범위 

protected 선언된 멤버 변수는 이를 상속하는 유도 클래스에서 접근이 가능하다.

 

상속을 위한 조건 IS-A 관계

반응형

'Programming Language > C++ Programming' 카테고리의 다른 글

[C++프로그래밍 Chapter9]  (0) 2020.01.30
[C++프로그래밍 Chapter8]  (0) 2020.01.29
[C++프로그래밍 Chapter6]  (0) 2020.01.23
[C++프로그래밍 Chapter5]  (2) 2020.01.21
[C++ 프로그래밍 Chapter4]  (0) 2020.01.19
Comments