Override — 슈퍼타입 메서드를 재정의한다는 표시

Override — 슈퍼타입 메서드를 재정의한다는 표시

@Override 애너테이션은 메서드 선언이 슈퍼타입의 메서드 선언을 재정의(override)하려는 의도임을 나타내요.

출처: Java API Reference

본문

이 애너테이션이 붙은 메서드에 대해, 컴파일러는 다음 조건 중 하나라도 만족하지 않으면 에러 메시지를 내도록 요구돼요.

  • 그 메서드가 슈퍼타입에 선언된 메서드를 실제로 재정의하거나 구현하는 경우
  • 그 메서드의 시그니처가 Object에 선언된 어떤 public 메서드와 override-equivalent한 경우

@Override를 붙였는데 실제로 재정의가 아니라면 컴파일 오류가 나서, 오타로 인한 새 메서드 정의 같은 실수를 미리 잡아 줘요. @Override는 소스 레벨에서만 유지되는 애너테이션이에요.

이 애너테이션의 정의는 다음과 같아요.

@Target(METHOD)
@Retention(SOURCE)
public @interface Override

자바 1.5부터 추가됐어요.

더 알아보기 (Learn more)