Override — 슈퍼타입 메서드를 재정의한다는 표시
Override — 슈퍼타입 메서드를 재정의한다는 표시
@Override 애너테이션은 메서드 선언이 슈퍼타입의 메서드 선언을 재정의(override)하려는 의도임을 나타내요.
본문
이 애너테이션이 붙은 메서드에 대해, 컴파일러는 다음 조건 중 하나라도 만족하지 않으면 에러 메시지를 내도록 요구돼요.
- 그 메서드가 슈퍼타입에 선언된 메서드를 실제로 재정의하거나 구현하는 경우
- 그 메서드의 시그니처가
Object에 선언된 어떤 public 메서드와 override-equivalent한 경우
즉 @Override를 붙였는데 실제로 재정의가 아니라면 컴파일 오류가 나서, 오타로 인한 새 메서드 정의 같은 실수를 미리 잡아 줘요. @Override는 소스 레벨에서만 유지되는 애너테이션이에요.
이 애너테이션의 정의는 다음과 같아요.
@Target(METHOD)
@Retention(SOURCE)
public @interface Override
자바 1.5부터 추가됐어요.