사용 배경

객체지향 프로그래밍의 중요한 개념 중 하나는 데이터 은닉이며, 필요에 따라 특정 정보에 대한 은닉을 위해 접근 제한자를 사용한다.

 

 

접근 제한자

접근 제한자는 크게 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

 

+ Recent posts