@Override는 Java에서 사용하는 어노테이션이다. 이 어노테이션은 메서드가 상위 클래스나 인터페이스에서 상속받은 메서드를 오버라이드(재정의)하는 것임을 명시하는 것.
@Override를 사용하면 컴파일러가 오버라이드하는 메서드가 정확한지 확인해 준다. 만약 메서드 시그니처가 상위 클래스의 메서드와 일치하지 않는다면, 컴파일 오류가 발생하여 문제를 빠르게 찾을 수 있음.
그러나 @Override 어노테이션은 필수적인 것은 아님. 이 어노테이션을 제거해도 코드는 정상적으로 실행되지만, 오버라이드 여부에 대한 검증이 사라져 잘못된 오버라이드가 발생할 위험이 있음.
따라서 꼭 적어야 하는 것은 아니지만, 코드의 명확성과 오류를 미리 방지하기 위해 사용하는 것이 매우 좋다.
class Parent {
void exampleMethod() {
// Some code
}
}
class Child extends Parent {
@Override
void exampleMethod() {
// Some code
}
}
위의 예시처럼 오버라이드하는 메서드 최상단에 @Override를 적어줌으로써 컴파일러님이 올바르게 오버라이드되고 있는지 검증할 수 있다.
필수적인건 아니지만 써서 안좋을건 없다.