객체 지향 프로그래밍에서는 부모 클래스의 특성을 상속받을 수 있습니다. 부모 클래스를 기본 클래스라고 하고 자식 클래스를 파생 클래스라고 합니다. 파생 클래스는 기본 클래스의 멤버 함수인 데이터 멤버를 상속할 수 있습니다.
데이터 멤버가 공용인 경우 파생 클래스, 동일한 클래스 및 클래스 외부에서 액세스할 수 있습니다. 데이터 멤버가 보호되면 파생된 동일한 클래스에서만 액세스할 수 있지만 클래스 외부에서는 액세스할 수 없습니다. 데이터 멤버가 비공개인 경우 동일한 클래스만 액세스할 수 있습니다.
다음은 C++ 언어에서 상속의 예입니다.
예시
#include <bits/stdc++.h> using namespace std; class Base { public: int a; protected: int b; private: int c; }; class Derived : public Base { public: int x; }; int main() { Derived d; d.a = 10; d.x = 20; cout << "Derived class data member vale : " << d.x << endl; cout << "Base class data member value : " << d.a << endl; return 0; }
출력
Derived class data member vale : 20 Base class data member value : 10
위의 프로그램에서 파생 클래스는 기본 클래스와 해당 데이터 멤버를 상속합니다. 파생 클래스 개체 d가 만들어지고 기본 및 파생 클래스 a 및 x의 데이터 멤버를 호출하는 데 사용됩니다. 그러나 기본 클래스의 변수 b와 c는 보호되고 비공개이므로 액세스할 수 없습니다. 액세스하려고 하면 오류가 표시됩니다.
Derived d; d.a = 10; d.x = 20;