필드 시그니처 또는 메서드의 시그니처에 클래스가 사용되었으며 시그니처 내 클래스가 멤버 자체보다 가시성이 낮은 경우를 보고합니다. Java에서는 유효하지만 이러한 멤버는 참조하는 클래스의 가시성 범위 밖에서 사용될 수 없습니다.

예:


  public class Parent {
    public Child getChild() {
      return new Child();
    }

    private class Child {}
  }

추가적으로, Java 9 이상에서 모듈은 클래스의 패키지를 내보내지 않는 방식으로 다른 모듈로부터 자신의 클래스를 숨길 수 있습니다. 그러나 내보낸 API의 일부인 멤버가 시그니처 내의 내보내지 않은 클래스를 참조하는 경우 그러한 멤버는 모듈 밖에서 사용될 수 없습니다.

검사 구성: