상위 메서드를 호출하지 않고 재정의하는 메서드를 보고합니다. 이는 상속 거부라고도 합니다. 이러한 메서드는 추상화 실패를 의미할 수 있으며, 이로 인해 추적이 어려운 버그가 발생할 수 있습니다.

이 검사는 clone()을 제외한 java.lang.Object에서 재정의된 메서드를 보고하지 않습니다. clone() 메서드가 규칙에 따라 상위 메서드를 호출해야 올바른 타입의 객체가 반환됩니다.

예시 1:


  class A {
    @Override
    public Object clone() {
      // 'super.clone()'을 호출하지 않습니다
      return new A();
    }
  }

예시 2:


  interface I {
    default void foo() {}
  }

  class A implements I {
    // ''default' 상위 메서드 무시'가
    // 비활성화되면 메서드에 대해 경고합니다
    @Override
    public void foo(){}
  }

검사 구성: