본문 바로가기
전공공부/C, C++

[C++] 10. C++ Class 상속(Inheritation)

by 아임그류튜 2024. 7. 2.
반응형

C++에서 상속은 매우 중요한 개념입니다.

상속이란 여러 클래스의 공통된 부분을 하나의 클래스로 합쳐서 간략히 표현하는 것입니다.

 

말그대로 부모 클래스(Base, Super, Parent Class)의 멤버변수와 함수를

자식 클래스(Derived, Sub, Child Class)가 사용하게 하고 추가로 멤버변수 및 함수를 정의할 수 있습니다.

 

즉, 코드 재사용성, 확장성, 유지 보수성 이것이 클래스 상속의 중요한 점입니다.

 

아래 PPT를 보면 상속에서는 부모 Class를 정의하고 자식 Class 뒤에 " : public 클래스이름 "으로 작성합니다.

뒤에를 public이나 protected, private에 따라서 멤버변수 및 함수의 접근여부가 달라집니다.

 

따라서, 절대 생각하면 안됩니다. (생략시 private로 인지)

 

호출 시에는 생성자는 부모 먼저, 소멸자는 자식 먼저 실행되게 해주세요.

오버로딩과 같은 개념이라고 생각하시면 편할 것 같습니다.

부모의 멤버함수의 이름을 그대로 가져왔지만 내부를 다르게 하고 싶다면

아래와 같이 재정의를 해주시면 됩니다.

 

출력결과가 깨져버렸는데.. 한 번 생각해보시고 직접 코드를 작성해서 비교해보세요!

클래스에서는 다중상속도 받을 수 있다고 배웠습니다..

하지만 그때는 오히려 복잡하여 실수 할 수 있으니 사용하지 않는 것을 추천받아서...^^

예시만 작성해놨던 것 같습니다.

 

참고만 해주세요 ㅎㅎ

 

반응형