Page 107

10.1.1 클래스 확장하기 C++에서 클래스를 정의할 때 컴파일러에 기존 클래스를 상속 inherit, 파생 derive, 확장 extend 한다 고 선언할 수 있다. 이렇게 하면 새로 만들 클래스에 기존 클래스의 데이터 멤버와 메서드를 자 동으로 가져올 수 있다. 이때 원본 클래스를 부모 클래스(베이스 클래스 또는 슈퍼 클래스 super class

)라 부른다. 그러면 기존 클래스를 확장한 자식 클래스 child class (파생 클래스 derived class 또는

서브 클래스 subclass )는 부모 클래스와 다른 부분만 구현하면 된다.

C++에서 어떤 클래스를 확장하려면 그 클래스를 정의할 때 다른 클래스를 확장한다고 선언해 야 한다. 다음과 같이 정의한 Base와 Derived 클래스를 이용하여 상속을 표현하는 문법에 대 해 알아보자. 코드가 너무 간단하다고 아쉬워할 필요 없다. 뒤에서 좀 더 흥미로운 예제를 소개 할 것이다. 먼저 Base 클래스를 다음과 같이 정의한다. class Base { public: void someMethod(); protected: int mProtectedInt; private: int mPrivateInt; };

이제 Derived 클래스가 Base 클래스를 상속하도록 만들어보자. 이를 위해 다음과 같이 Derived가 Base를 상속한다는 문장을 작성한다.

class Derived : public Base { public: void someOtherMethod(); };

Derived는 Base 클래스가 가진 특성을 그대로 물려받은 완전한 형태의 클래스다. 여기서 public이라고 지정한 부분은 나중에 살펴보기로 하고 일단 넘어간다. [그림 10-1]은 Derived

와 Base 클래스의 관계를 보여주고 있다.

10장 상속 활용하기 417

Profile for 한빛미디어

전문가를 위한 C++ (개정4판) - 맛보기  

『전문가를 위한 C++』(개정4판)은 새로 추가된 기능과 관련 도구를 비롯해 C++에 대한 모든 내용을 코드와 솔루션 위주로 소개한다. 저자는 실전 프로그래밍에 적용할 수 있는 현실적인 기법을 다양하게 소개하였으며, 본 교재는 C++를 더 깊이 이해하...

전문가를 위한 C++ (개정4판) - 맛보기  

『전문가를 위한 C++』(개정4판)은 새로 추가된 기능과 관련 도구를 비롯해 C++에 대한 모든 내용을 코드와 솔루션 위주로 소개한다. 저자는 실전 프로그래밍에 적용할 수 있는 현실적인 기법을 다양하게 소개하였으며, 본 교재는 C++를 더 깊이 이해하...

Advertisement