시그니처가 같은 메서드를 포함하는 특성을 두 개 이상 구현하는 클래스를 보고합니다.

그러한 메서드를 호출하면 예상하지 못한 결과가 나올 수 있습니다.

빠른 수정에서는 명시적인 재정의 메서드를 추가합니다.

예:


  trait T1 {
      def foo() {}
  }

  trait T2 {
      def foo() {}
  }

  class X implements T1, T2 {}

  // T2.foo()가 호출됩니다
  new X().foo()

빠른 수정 적용 후:


  class X implements T1, T2 {
      @Override
      Object foo() {
          return T2.super.foo()
      }
  }