공학/C++
접근제어
둥둥잇
2014. 12. 1. 21:42
접근제어!!!!
캡슐화 할 때 중요한 점은
단순히 관련된 변수와 함수들을 묶는 것 뿐만 아니라
묶어서 사용할 때 필요한 최소한의 정보만을 공개하고 나머지는 숨겨야 한다는 것
클래스의 멤버 변수, 멤버 함수에 대해 접근 권한을 설정하는 키워드가 접근 지정자
접근 지정자 |
해당 클래스 내 |
파생 클래스 내 |
클래스 밖 |
private |
O |
X |
X |
protected |
O |
O |
X |
public |
O |
O |
O |
그래도 클래스 밖에서 protected나 private 멤버 변수에 접근해야 한다면?
접근자 함수 사용!!
public 접근 권한을 갖는 멤버 함수로, 클래스의 멤버 변수에 대한 접근을 도와주는 기능
Get 함수 : 멤버 변수의 값을 읽어올 때 사용
Set 함수 : 멤버 변수의 값을 변경할 때 사용
프렌드 함수??
프렌드 함수를지정하면 클래스의 멤버 함수가 아닌 전역 함수에서 private 또는 protected 멤버에 접근 가능
class 클래스이름 {
friend 함수 원형;
friend class 클래스이름;
};
출처 : C++ Programming with a WorkBook (이한출판사)