접근 제어 지시자
2024. 7. 1. 23:19ㆍC++
접근 제어 지시자는 구조체가 클래스로 탈바꿈하도록 돕는 문법이다.
지시자는 3종류가있다.
public - 멤버에 관한 모든 외부 접근을 허용
protected - 멤버에 관한 모든 외부 접근을 차단. 단, 상속 관계에 있는 파생 클래스에서의 접근은 허용
private - 외부 접근뿐만 아니라 파생 클래스로부터의 접근까지 모두 차단. 클래스를 선언할 때 별도로 접근 제어 지시자를 기술하지 않으면 private로 간주
●Private
먼저 Data 변수는 별도의 접근 제어 지시자를 설정하지 않았기 때문에 private이다. 즉, 사용자 코드에서 멤버 접근 연산자를 이용해 멤버 변수에 임의 접근할 수 없다. 그래서 main문 안에서 Data의 값을 직접 넣을 수 없다.
멤버 함수의 경우에는 private 멤버에 접근하는 것이 자유롭다. 즉, 접근 제어 지시자의 영향을 받지 않는다.
●Public
Data변수는 public 이기 때문에 main문 안에서 Data값을 직접 넣을 수 있다.
그러면 protected는 언제 써야할까?
●Protected
이렇게 MyData의 파생 클래스인 DerivedData 클래스안에서 MyData안의 Data값에 접근할 수 있다.