멤버 변수에서의 접근제어 지시자의 의미는 아래와 같다.
private : 클래스 내부에서만 접근가능. -> 상속시에는 멤버함수로만 접근
protected : 클래스 내부에서만 접근가능. -> 상속시에도 클래스 내부에서 접근 가능.
public : 클래스 밖에서도 접근가능.
상속시에 접근제어 지시자는 접근 범위가 더 넓은 멤버를 제어하는데 사용한다.
ex1)
class Parent
{
private a;
protected b;
public c;
}
class Chlid : protected Parent
{
...
}
위의 경우에서 Child가 Parnet를 protected로 상속했으므로 protected보다 더 넓은 public c를 protected c로 상속한다는 의미가 된다.
[*] 상속시 해당 클래스에서 접근 가능한 멤버는 protected와 public 뿐이다. 그러므로 private에 대해서는 상속시 단순히 접근 불가로 생각하면 된다.
ex2)
class Parent
{
private a;
protected b;
public c;
}
class Chlid : private Parent
{
...
}
그러면 private으로 상속하는 경우에는 protected b, public c가 각각 private b, private c가 된다.
(물론 private a에 대해서는 그냥 접근 불가..)
'Programming > C/C++' 카테고리의 다른 글
C++ 상속시 생성자, 소멸자의 호출 (0) | 2013.03.09 |
---|---|
복사 생성자 (0) | 2013.02.27 |
C++ 기초 [3] (0) | 2013.02.27 |
C++ 기초 [2] (0) | 2013.02.26 |
C++ 기초 [1] (0) | 2013.02.26 |