[c++] protected 접근 지정자와 상속

C++에서 protected 접근 지정자는 클래스의 멤버 변수 및 멤버 함수가 해당 클래스와 해당 클래스를 상속하는 파생 클래스에서 접근할 수 있도록 하는 특별한 지정자입니다.

protected 멤버는 파생 클래스 내부에서 접근할 수 있지만, 해당 클래스를 사용하는 클라이언트 코드에서 직접 접근할 수는 없습니다. 이러한 접근 제한은 클래스의 내부 동작을 보호하고 클래스의 인터페이스와 구현을 분리하는 데 도움이 됩니다.

상속에서의 protected 접근 지정자

파생 클래스에서 protected 접근 지정자를 사용하면 기본 클래스의 protected 멤버를 상속할 수 있습니다. 이는 파생 클래스가 부모 클래스의 구현을 재사용하거나 확장할 수 있도록 합니다.

다음은 protected 멤버를 사용하여 상속 관계를 보여주는 간단한 예제입니다.

class Base {
protected:
    int protectedMember;
};

class Derived : public Base {
public:
    void AccessProtectedMember() {
        protectedMember = 5; // 접근 가능
    }
};

위 예제에서 Derived 클래스는 Base 클래스에서 상속된 protectedMember에 접근할 수 있습니다.

정리

protected 접근 지정자는 파생 클래스가 기본 클래스의 내부 구현을 확장하는 데 도움이 됩니다. 이를 통해 클래스 간의 결합도를 낮추고 코드 재사용성을 높일 수 있습니다. 하지만 적절한 사용 및 이해가 필요하며, 오용할 경우 설계를 복잡하게 만들 수 있습니다.

참고 자료