item 40) @Override 어노테이션을 일관되게 사용하라
@Override 어노테이션
상위 타입의 메서드를 재정의했음을 나타낸다.
메서드 선언에만 달 수 있으며, 일관되게 사용하면 여러 가지 버그들을 예방할 수 있다.
장점
Java8에서 디폴트 메서드를 지원하므로, 인터페이스의 추상 메서드를 구현한 메서드에도
@Override
를 붙여주면 메서드의 시그니처가 올바른지 확인할 수 있다.재정의 하는지 다중정의 하는지 확실하게 구분할 수 있다.
실수로 추가한 메서드를 확인하기 위해 추상 클래스나 인터페이스에서는 상위 클래스나 상위 인터페이스의 메서드를 재정의하는 모든 메서드에
@Override
를 붙여주자.
@Override 어노테이션이 필요 없는 경우
구체 클래스에서 상위 클래스의 추상 메서드를 재정의할 때는
@Override
를 달지 않아도 된다. 구체 클래스인데 아직 구현하지 않은 추상 메서드가 있다면 컴파일러가 이를 알려주기 때문이다.하지만
@Override
를 일괄적으로 달아주어도 된다.
Last updated