access control

접근 지정자는 클래스 안팎의 이름 사용 권한을 나눈다

public, private, protected와 기본 접근 규칙을 함께 보면 캡슐화가 문법으로 어떻게 고정되는지 알 수 있습니다.

public

public 함수/상수

클래스 사용자는 공개된 이름만 보고 객체를 다룹니다.

private

객체의 불변식과 내부 표현을 클래스 안에 숨깁니다

값 변경은 검사를 거친 멤버 함수로 유도합니다.

protected

protected 접근

파생 클래스 확장을 염두에 둘 때만 신중하게 씁니다.

기본 접근

class/struct 기본 접근

명시하지 않은 접근 권한 때문에 예제 코드가 다르게 동작할 수 있습니다.

인터페이스 public 함수는 객체가 제공하는 안정된 사용법을 의미합니다.
상태 보호 private 멤버는 잘못된 대입과 임의 변경을 막는 울타리입니다.
상속 경계 protected는 파생 클래스와 외부 호출자 사이의 차이를 만듭니다.