공학/C++

접근제어

둥둥잇 2014. 12. 1. 21:42

접근제어!!!!


캡슐화 할 때 중요한 점은

단순히 관련된 변수와 함수들을 묶는 것 뿐만 아니라

묶어서 사용할 때 필요한 최소한의 정보만을 공개하고 나머지는 숨겨야 한다는 것



클래스의 멤버 변수, 멤버 함수에 대해 접근 권한을 설정하는 키워드가 접근 지정자



접근 지정자 

 해당 클래스 내

파생 클래스 내 

클래스 밖 

 private

 protected

 public 




그래도 클래스 밖에서 protected나 private 멤버 변수에 접근해야 한다면?

접근자 함수 사용!!

public 접근 권한을 갖는 멤버 함수로, 클래스의 멤버 변수에 대한 접근을 도와주는 기능

Get 함수 : 멤버 변수의 값을 읽어올 때 사용

Set 함수 : 멤버 변수의 값을 변경할 때 사용



프렌드 함수??

프렌드 함수를지정하면 클래스의 멤버 함수가 아닌 전역 함수에서 private 또는 protected 멤버에 접근 가능

class 클래스이름 {

friend 함수 원형;

friend class 클래스이름;

};



출처 : C++ Programming with a WorkBook (이한출판사)