@Override 애너테이션은 메서드가 부모 클래스나 인터페이스의 메서드를 재정의하고 있는지를 컴파일러에게 알려주는 역할을 한다. 이를 통해 재정의한 메서드의 오타나 잘못된 시그니처 등을 빠르게 찾을 수 있습니다.
상위 클래스의 메서드를 재정의하려는 모든 메서드에 @Override 애너테이션을 달아주자.
@Override 애너테이션을 코드를 깔끔하게 보기위해 생략하지 말고 모두 달아주자.
핵심 정리 : 재정의한 모든 메서드에 @Override 애너테이션을 의식적으로 달면 여러분이 실수했을 때 컴파일러가 바로 알려줄 것이다. 예외는 한 가지 뿐이다. 구체 클래스에서 상위 클래스의 추상 메서드를 재정의한 경우엔 이 애너테이션을 달지 않아도 된다(단다고 해서 해로울 것도 없다).
'이펙티브 자바' 카테고리의 다른 글
[이펙티브 자바] 아이템 42. 익명 클래스보다는 람다를 사용하라 (0) | 2024.04.13 |
---|---|
[이펙티브 자바] 아이템 41. 정의하려는 것이 타입이라면 마커 인터페이스를 사용하라 (0) | 2024.04.11 |
[이펙티브 자바] 아이템 39. 명명 패턴보다 애너테이션을 사용하라 (0) | 2024.04.09 |
[이펙티브 자바] 아이템 38. 확장할 수 있는 열거 타입이 필요하면 인터페이스를 사용하라 (0) | 2024.04.08 |
[이펙티브 자바] 아이템 37. ordinal 인덱싱 대신 EnumMap을 사용하라 (0) | 2024.04.06 |