사용 배경
객체지향 프로그래밍의 중요한 개념 중 하나는 데이터 은닉이며, 필요에 따라 특정 정보에 대한 은닉을 위해 접근 제한자를 사용한다.
접근 제한자
접근 제한자는 크게 public, protected, private 세 종류가 있다.
public
- 외부 클래스가 자유롭게 접근하여 사용 가능
- 연산자를 이용하여 아무곳에나 액세스 가능
private
- 오직 클래스 내부에서만 접근 가능하며 클래스 외부의 객체나 함수에서 직접 접근 불가
- 클래스 내부의 멤버 함수 또는 friend 함수만 클래스의 private 멤버에 접근 가능.
protected
- 클래스 외부에선 protected 멤버에 접근할 수 없음. 하지만 해당 클래스의 하위 클래스에서는 접근할 수 있음.
* 하위 클래스: ex) 파생 클래스, 자식 클래스
* C++ 클래스 내에 멤버에 대한 접근 제한자를 두지 않으면 기본적으로 private임 (자바는 public이 default)
* C/C++ 구조체 멤버에 대한 기본적인 접근 제한자는 public임
Reference
[1] https://yeolco.tistory.com/115
[2] https://saack.tistory.com/46
'Interest > 기타' 카테고리의 다른 글
[차트이론] 삼각수렴 (Triangle Convergence) (0) | 2021.11.02 |
---|---|
[Python] 쉼표 배치 문제 (문자열 리터럴 결합) (0) | 2021.10.24 |
[특허] 특허란 무엇인가? (0) | 2021.09.29 |
RuntimeError: 'cryptography' package is required for sha256_password or caching_sha2_password auth methods 해결 방법 (0) | 2021.09.15 |
[Python] pyaudio 설치 방법 (0) | 2020.05.30 |