Java

[Java, 객체지향] 오버라이딩, @Override Annotation(오버라이드 어노테이션)

15호의 개발자 2021. 8. 11. 14:49
반응형

 

 

 

오버라이딩 (overriding)

 

사전적 의미는 '다른 무엇보다 더 중요한 것, 더 우선시되는 것', 또는 동사로 '덮어쓰다'라는 의미이다.

 

코딩에서의 의미는,

상위 클래스에 정의된 메서드의 구현 내용이 하위 클래스에서 구현할 내용과 맞지 않는 경우

하위 클래스에서 동일한 이름의 메서드를 재정의할 수 있다는 특성을 말한다.

 

메서드 오버라이딩을 할 때의 조건은 아래와 같다.

1. 선언부는 변경 불가하고 내용만 변경 가능하다.

2. 접근 제어자가 상위 클래스의 메서드보다 좁은 범위로 변경할 수 없다.

3. 예외 선언은 상위 클래스의 메서드보다 많이 선언할 수 없다.

 

 

 

@Override 어노테이션 (Annotation)

 

  • 재정의된 메서드라는 의미로, 선언부가 기존의 메서드와 다른 겨웅 에러가 발생한다.
  • 어노테이션은 컴파일러에게 특정한 정보를 제공해주는 역할이다.

 

다음은 Java에서 주로 사용되는 어노테이션이다.

@Override 재정의된 메서드라는 정보 제공
@FunctionalInterface 함수형 인터페이스라는 정보 제공
@Deprecated 이후 버전에서 사용되지 않을 수 있는 변수, 메서드에 사용
@SuppressWarnings 특정 경고가 나타나지 않도록 함 (ex. @SuppressWarnings("deprecation") : @Deprecated가 나타나지 않도록 함)

 

반응형