접근 제어자는 호출 위치에 따라 보이는 멤버를 제한한다

public·protected·private를 선언 문법이 아니라 접근 가능한 코드 영역의 차이로 비교한다.

public

어디서나

클래스 내부·자식 클래스·외부 인스턴스 모두 접근

protected

상속 경계

클래스 내부와 자식 클래스만 접근

private

클래스 경계

선언한 클래스 내부에서만 접근

#field

런타임 private

JavaScript 실행 단계에서도 외부 접근을 차단

핵심외부 API는 public으로 최소화하고, 상속 확장점만 protected로 열며 구현 세부는 private에 둔다.