나는 어떤 언어로든 액세스 제어 기능을 좋아하지만 자바에서는 접근 수정 자 (또는 그 부족함)를 거의 사용하지 않는다는 것을 알게되었습니다 (package-private).Java에서 package-private은 언제 사용합니까?
나는 내부 클래스는 private
, protected
, 또는 package-private
이 될 수 있다는 걸,하지만 외부 클래스는 package-private
또는 public
될 수 있습니다. 왜 외부 클래스가 package-private
일 수 있지만 protected
이 아닌지? 클래스/메소드/필드를 하위 클래스가 아닌 전체 패키지에서 볼 수 있도록 제한하는 이점은 무엇입니까?