public private protected

접근 제어자 노출 범위

접근 제어자는 값을 숨기는 장식이 아니라 클래스 내부, 상속 계층, 외부 사용자가 어디까지 볼 수 있는지 정하는 경계입니다.

public

모두 접근 가능

명시하지 않으면 기본값이며 인스턴스 외부에서도 읽고 호출할 수 있습니다.

public name
private

클래스 내부 전용

현재 클래스 밖에서는 접근할 수 없어 내부 구현 세부사항을 숨깁니다.

private token
protected

자식 클래스까지 허용

외부에는 숨기되 상속받은 클래스가 재사용해야 할 멤버에 적합합니다.

protected config
매개변수 속성

선언과 대입을 축약

생성자 매개변수에 접근 제어자를 붙이면 속성 선언과 초기화를 한 번에 처리합니다.

constructor(private id: string)
공개 최소화 외부 API로 필요한 멤버만 public으로 유지합니다.
상속 고려 자식 클래스가 써야 하는 값이면 private보다 protected를 검토합니다.
테스트 영향 private 멤버를 직접 검사하기보다 공개 동작 결과로 확인합니다.

접근 제어자는 클래스의 사용법과 변경 가능 범위를 조절해 객체 지향 코드의 안정성을 높입니다.