반응형
오버라이딩 (overriding)
사전적 의미는 '다른 무엇보다 더 중요한 것, 더 우선시되는 것', 또는 동사로 '덮어쓰다'라는 의미이다.
코딩에서의 의미는,
상위 클래스에 정의된 메서드의 구현 내용이 하위 클래스에서 구현할 내용과 맞지 않는 경우
하위 클래스에서 동일한 이름의 메서드를 재정의할 수 있다는 특성을 말한다.
메서드 오버라이딩을 할 때의 조건은 아래와 같다.
1. 선언부는 변경 불가하고 내용만 변경 가능하다.
2. 접근 제어자가 상위 클래스의 메서드보다 좁은 범위로 변경할 수 없다.
3. 예외 선언은 상위 클래스의 메서드보다 많이 선언할 수 없다.
@Override 어노테이션 (Annotation)
- 재정의된 메서드라는 의미로, 선언부가 기존의 메서드와 다른 겨웅 에러가 발생한다.
- 어노테이션은 컴파일러에게 특정한 정보를 제공해주는 역할이다.
다음은 Java에서 주로 사용되는 어노테이션이다.
@Override | 재정의된 메서드라는 정보 제공 |
@FunctionalInterface | 함수형 인터페이스라는 정보 제공 |
@Deprecated | 이후 버전에서 사용되지 않을 수 있는 변수, 메서드에 사용 |
@SuppressWarnings | 특정 경고가 나타나지 않도록 함 (ex. @SuppressWarnings("deprecation") : @Deprecated가 나타나지 않도록 함) |
반응형
'Java' 카테고리의 다른 글
[Java, 객체지향] 다형성이란? (Polymorphism) (0) | 2021.08.11 |
---|---|
[Java, 객체지향] 가상 메서드 (virtual method) (0) | 2021.08.11 |
[Java, 객체지향] 하위 클래스가 생성되는 과정 & 업캐스팅/다운캐스팅 (0) | 2021.08.11 |
[Java, 객체지향] 클래스 상속(inheritance)이란? (0) | 2021.08.11 |
[Java, 객체지향] static 메서드, 인스턴스 메서드 비교 (0) | 2021.08.10 |