개요 가장 흔히 볼 수 있는 애너테이션인 @Override는 상위 타입의 메서드를 재정의했음을 뜻한다. 이를 메서드를 재정의하고자 한다면 항상 일관되게 사용하는 것을 권장한다. @Override 애너테이션을 사용하지 않았을 때 발생할 수 있는 버그 예시는 다음과 같다. public class Bigram { private final char first; private final char second; public Bigram(char first, char second) { this.first = first; this.second = second; } public boolean equals(Bigram b) { return b.first == first && b.second == second; } publ..