본문 바로가기

이펙티브 자바

[이펙티브 자바] 아이템 40. @Override 애너테이션을 일관되게 사용하라

@Override 애너테이션은 메서드가 부모 클래스나 인터페이스의 메서드를 재정의하고 있는지를 컴파일러에게 알려주는 역할을 한다. 이를 통해 재정의한 메서드의 오타나 잘못된 시그니처 등을 빠르게 찾을 수 있습니다.

 

상위 클래스의 메서드를 재정의하려는 모든 메서드에 @Override 애너테이션을 달아주자.

@Override 애너테이션을 코드를 깔끔하게 보기위해 생략하지 말고 모두 달아주자.

 

 

핵심 정리 : 재정의한 모든 메서드에 @Override 애너테이션을 의식적으로 달면 여러분이 실수했을 때 컴파일러가 바로 알려줄 것이다. 예외는 한 가지 뿐이다. 구체 클래스에서 상위 클래스의 추상 메서드를 재정의한 경우엔 이 애너테이션을 달지 않아도 된다(단다고 해서 해로울 것도 없다).