본문 바로가기
서적 정리/C++ 기초 플러스

78.접근제어: protected

by 민돌이2 2022. 7. 13.

protected 키워드는 기초 클래스로부터 파생된 클래스 안에서만 사용할 수 있다. 파생 클래스의 멤버들은 기초 클래스의 protected 멤버에 직접 접근할 수 있지만, private 멤버에는 접근할 수 없다. 정리해보면 파생 클래스 밖에서 protected와 private 멤버는 차이가 없지만 파생 클래스 안에서는 기초 클래스의 protected 멤버는 public 멤버와 같다.

  public private protected
파생 클래스 접근 가능 접근 불가 접근 가능
클래스 밖 접근 가능 접근 불가 접근 불가
class Base
{
public:
	int publicNum;

private:
	int privateNum;

protected:
	int protectedNum;

};

class Derived : public Base
{
public:
	void SetNum(int numA, int numB, int numC)
	{
		publicNum = numA; //문제 없음
		privateNum = numB; //문제 있음
		protectedNum = numC; //문제 없음
	}

};

int main()
{
	Derived d;
	d.publicNum = 10; //문제 없음
	d.privateNum = 20; //문제 있음
	d.protectedNum = 30; //문제 있음

	system("Pause");
	return 0;
}

 

 

728x90

댓글