Effective Java 3rd ITEM 40
ITEM 40. Consistently use the Override annotation
1 | public class Bigram { |
Bigram 클래스는 equals()
메서드를 Overriding하려 했지만 매개변수를 Object가 아닌 Bigram으로 선언해서 Overriding이 아닌 Overloading해버렸다. 만약 재정의한 메서드에 @Override
annotation을 넣어줬더라면 컴파일러가 오류를 내줬겠지만 생략했기 때문에 올바르게 수정하기 어렵다.
그러므로 상위 클래스의 메서드를 재정의하려는 모든 메서드에 @Override
annotation을 달자!
추상 클래스나 인터페이스를 생략해도 괜찮지만 모든 재정의 메서드에는 @Override
annotation을 달아주는 것이 좋다.