E105: Trait Redefined Final Method From AnyRef

E105: Trait Redefined Final Method From AnyRef (AnyRef의 final 메서드를 트레이트가 재정의)

트레이트가 AnyRef(또한 java.lang.Object라고도 불러요)의 final 메서드를 재정의하려고 할 때 발생하도록 설계된 에러예요.

출처: Scala 3 Reference

본문

컴파일러 메시지가 알려주는 내용은 이렇게 정리할 수 있어요.

  • 트레이트는 class AnyRef의 final 메서드를 재정의할 수 없어요
  • getClass, notify, notifyAll, wait 같은 메서드는 AnyRef에서 final이에요

참고: 이 에러 메시지 클래스는 컴파일러에 존재하지만, 현재 어떤 코드 경로에서도 실제로 만들어지진 않아요. 이 메서드들을 재정의하려 하면 다른 에러(예: E120 DoubleDefinition)가 발생해요.

더 알아보기

  • AnyRef의 final 메서드를 재정의하려 할 때 실제로 마주치는 에러는 E120(Double Definition)이에요. 해당 문서도 함께 확인해 보세요.