Overriding - 🐥 카카오 테크 캠퍼스
오버라이딩은 상위 클래스에 정의된 메서드의 구현 내용이 하위 클래스에서 구현할 내용과 맞지 않는 경우 하위 클래스에서 동일한 이름의 메서드를 재정의 할 수 있다.
- 하위 클래스에서 상위 클래스의 메서드와 동일한 함수 시그니처를 가진 메서드를 정의한다.
- 기능을 변경하거나 확장할 때 사용한다.
@Override
어노테이션을 사용해 명시적으로 오버라이딩임을 표시할 수 있다.
예시
class Animal {
void makeSound() {
System.out.println("The animal makes a sound");
}
}
class Dog extends Animal {
@Override
void makeSound() {
System.out.println("The dog barks");
}
}
public class Main {
public static void main(String[] args) {
Animal myAnimal = new Animal();
Animal myDog = new Dog();
myAnimal.makeSound(); // 출력: The animal makes a sound
myDog.makeSound(); // 출력: The dog barks
}
}
위 예시에서 Dog
클래스는 Animal
클래스를 상속받고, makeSound
메서드를 오버라이딩하여 "The dog barks"라는 메시지를 출력합니다.
이렇게 하위 클래스인 Dog
에서 상위 클래스인 Animal
의 메서드를 재정의하여 사용할 수 있습니다.
부족한 점이나 잘못 된 점을 알려주시면 시정하겠습니다 :>
728x90
'DEV > Java' 카테고리의 다른 글
Is-A와 HAS-A 또는 Inheritance와 Composition - 🐥 카카오 테크 캠퍼스 (0) | 2023.04.27 |
---|---|
다형성(Polymorphism) (0) | 2023.04.27 |
상속(Inheritance) (0) | 2023.04.27 |
Super 키워드 (0) | 2023.04.26 |
형변환(업캐스팅) (0) | 2023.04.26 |