접근 제어 지시자

2024. 7. 1. 23:19C++

접근 제어 지시자는 구조체가 클래스로 탈바꿈하도록 돕는 문법이다.

 

지시자는 3종류가있다.

 

public - 멤버에 관한 모든 외부 접근을 허용

protected - 멤버에 관한 모든 외부 접근을 차단. 단, 상속 관계에 있는 파생 클래스에서의 접근은 허용

private - 외부 접근뿐만 아니라 파생 클래스로부터의 접근까지 모두 차단. 클래스를 선언할 때 별도로 접근 제어 지시자를 기술하지 않으면 private로 간주

 

●Private

 

먼저 Data 변수는 별도의 접근 제어 지시자를 설정하지 않았기 때문에 private이다.  즉, 사용자 코드에서 멤버 접근 연산자를 이용해 멤버 변수에 임의 접근할 수 없다.  그래서 main문 안에서 Data의 값을 직접 넣을 수 없다.

 

멤버 함수의 경우에는 private 멤버에 접근하는 것이 자유롭다. 즉, 접근 제어 지시자의 영향을 받지 않는다. 

●Public

 

Data변수는 public 이기 때문에 main문 안에서 Data값을 직접 넣을 수 있다.

 

그러면 protected는 언제 써야할까?

 

●Protected

 

이렇게 MyData의 파생 클래스인 DerivedData 클래스안에서 MyData안의 Data값에 접근할 수 있다.

'C++' 카테고리의 다른 글

전기세 구하기  (0) 2024.07.17
은닉화, 캡슐화  (0) 2024.07.06
클래스  (0) 2024.06.26
네임스페이스  (0) 2024.06.24
인라인함수  (0) 2024.06.24