CH7-2 · MODEL

캡슐화와 접근 제어: 먼저 구분할 경계

캡슐화는 필드를 무조건 숨기는 규칙이 아니라 객체의 변경 경로를 제한해 유효한 상태를 지키는 설계입니다.

핵심 경계

private은 객체 내부 구현을 닫는다

필드를 private으로 두면 외부는 공개 메서드를 통해서만 상태를 바꿉니다.

핵심 경계

패키지 경계는 가까운 협력자를 묶는다

접근 지정자를 생략한 package-private은 같은 패키지에서만 보입니다.

핵심 경계

protected는 상속 계약까지 넓힌다

같은 패키지와 하위 클래스에 보이므로 단순히 public보다 조금 좁은 접근으로 생각하면 안 됩니다.

핵심 경계 필드를 private으로 두면 외부는 공개 메서드를 통해서만 상태를 바꿉니다.