자바에는 4가지 접근 제어자가 있다.

| 대상 \ 접근 | private | (package-private) (기본) | protected | public |
|---|---|---|---|---|
| 같은 클래스 | ✅ | ✅ | ✅ | ✅ |
| 같은 패키지(타 클래스) | ❌ | ✅ | ✅ | ✅ |
| 다른 패키지의 하위클래스 | ❌ | ❌ | ✅ | ✅ |
| 다른 패키지의 비하위클래스 | ❌ | ❌ | ❌ | ✅ |
| 적용 가능 대상 | 필드/메서드/생성자/중첩클래스 | 최상위 클래스/인터페이스 가능, 그 외 전부 | 필드/메서드/생성자/중첩클래스 | 최상위 클래스/인터페이스 가능, 그 외 전부 |
자바의 접근 제어자로는 private, defualt, protected, public 4가지가 있습니다.
private는 같은 클래스 내부, defualt는 같은 패키지 내부, protected는 동일 패키지 또는 상속받은 클래스, public은 모든 곳에서 접근이 가능합니다.