지시자 |
설명 |
public |
멤버에 관한 모든 외부 접근이 허용된다. |
protected |
멤버에 관한 모든 외부 접근이 차단된다. 단, 상속 관계에 있는 파생 클래스에서의 접근은 허용된다. |
private |
외부 접근뿐만 아니라 파생 클래스로부터의 접근까지 모두 차단된다. 클래스를 선언할 때 별도로 접근 제어 지시자를 기술하지 않으면 private로 간주된다. |
#include <iostream>
using namespace std;
// 제작자코드
class RAIN
{
// 기본 접근 제어 지시자는 'private'
int Data;
public :
int GetData(void) { return Data;}
void SetData(int Param) { Data = Param; }
};
// 사용자코드
int main(void)
{
RAIN data;
data.Data = 10; // data.SetData(10);가 맞는접근
cout << data.GetData() << endl;
return 0;
}
실행결과
data.Data -> 사용자코드에서 접근불가!!
사용자의 임의 접근을 차단하여 제작자가 얻는 이득은 '사용자가 값의 변화를 통제할 수 있다'
댓글