tech/C++

[C++] 접근제어 지시자

sunm2n 2025. 12. 7. 21:09

1. 접근 제어 지시자란?

 

C++에서 접근 지시 제어자(Access Modifiers)는 클래스 멤버(변수나 함수)를 외부에서 함부로 건드리지 못하게 보안 등급을 설정하는 문법이다.

 

쉽게 말해 이 정보는 누구까지 볼 수 있는가? 를 정하는 규칙이다.

 

크게 3가지(private, protected, public)가 있습니다.

 

접근제어 지시자

 

2. 각 제어자의 사용 목적

  1. private:
    • 정보 은닉(Encapsulation)을 위해 사용한다.
    • 클래스 내부의 멤버 변수는 되도록 private으로 숨기고, 값을 변경하거나 가져올 때는 public 함수(Getter/Setter)를 통해서만 하도록 유도한다. 이렇게 하면 엉뚱한 값이 들어가는 것을 막을 수 있다.
    • 참고: 클래스(class)에서 접근 제어자를 아무것도 안 적으면 기본적으로 private이 된다.
  2. protected:
    • 상속을 고려할 때 사용한다.
    • 외부에는 숨기고 싶지만, 내 자식 클래스들이 이 변수를 활용해서 기능을 확장해야 할 때 열어준다.
  3. public:
    • 인터페이스(Interface) 역할을 한다.
    • 외부에서 이 클래스를 사용할 수 있도록 열어둔 함수나 변수이다. 주로 멤버 함수들이 여기에 속한다.

 

요약

  • 에게 보여줘도 되면 → public
  • 자식에게만 보여줄 거면 → protected
  • 만 볼 거면 → private (가장 권장되는 변수 설정)