타입과 멤버의 공개 여부는 별도로 판단한다
public 클래스 안의 모든 멤버가 public일 필요는 없습니다.
| 대상 | 권장 시작 | 넓히는 조건 |
|---|---|---|
| 최상위 모델 | package-private | 외부 패키지 API |
| 필드 | private | 직접 노출 거의 없음 |
| 생성자 | 필요 범위 | 외부 생성 허용 |
| 보조 메서드 | private | 패키지 협력 필요 |
핵심: 중첩 타입에는 네 수준을 모두 쓸 수 있지만 최상위 타입은 public 또는 package-private입니다.
public 클래스 안의 모든 멤버가 public일 필요는 없습니다.
| 대상 | 권장 시작 | 넓히는 조건 |
|---|---|---|
| 최상위 모델 | package-private | 외부 패키지 API |
| 필드 | private | 직접 노출 거의 없음 |
| 생성자 | 필요 범위 | 외부 생성 허용 |
| 보조 메서드 | private | 패키지 협력 필요 |
핵심: 중첩 타입에는 네 수준을 모두 쓸 수 있지만 최상위 타입은 public 또는 package-private입니다.