public
객체 사용자가 호출해도 되는 공개 API를 표현한다.
public, private, protected는 객체를 어떻게 사용할 수 있는지와 상속 관계에서 무엇을 열어 둘지 결정한다.
객체 사용자가 호출해도 되는 공개 API를 표현한다.
클래스 외부에서 직접 건드리면 안 되는 구현 세부를 숨긴다.
상속받은 클래스에는 열어 두되 외부 사용자에게는 숨긴다.
접근 범위를 줄이면 변경 가능한 내부 구현과 안정적인 사용 계약을 분리할 수 있다.
접근 제어자는 보안 장벽이라기보다, 클래스 사용자가 의존해도 되는 표면을 좁히는 설계 도구다.