클래스 멤버에 대한 액세스 제어
클래스 멤버 데이터 및 함수에 대한 액세스를 제어하여 C++로 작성된 소프트웨어의 무결성을 높일 수 있습니다. 다음 표와 같이 클래스 멤버의 액세스 수준을 private, protected 또는 public으로 선언할 수 있습니다.
멤버 액세스 제어
액세스 형식 |
의미 |
---|---|
private로 선언된 클래스 멤버는 클래스의 멤버 함수 및 friend(클래스 또는 함수)에서만 사용할 수 있습니다. |
|
protected로 선언된 클래스 멤버는 클래스의 멤버 함수 및 friend(클래스 또는 함수)에서 사용할 수 있습니다. 또한 클래스에서 파생된 클래스에서 사용할 수 있습니다. |
|
public으로 선언된 클래스 멤버는 모든 함수에서 사용할 수 있습니다. |
액세스 제어는 의도하지 않은 방식으로 개체를 사용하는 것을 방지하는 데 도움이 됩니다. 이러한 보호는 명시적 형식 변환(캐스트)을 수행할 때 손실됩니다.
참고
액세스 제어는 모든 이름(멤버 함수, 멤버 데이터, 중첩 클래스 및 열거자)에 동일하게 적용 가능합니다.
클래스 멤버(class 키워드를 사용하여 선언된 클래스 형식의 멤버)에 대한 기본 액세스는 private이고, struct 및 union 멤버에 대한 기본 액세스는 public입니다. 두 경우 모두 public, private 또는 protected 키워드를 사용하여 현재 액세스 수준을 변경할 수 있습니다.