본문 바로가기

JAVA

[Java] 수업 정리 28 오버라이딩 (24.12.03)

오버라이딩 (Overriding)

 

1. 정의

오버라이딩은 부모 클래스의 메서드를 자식 클래스에서 재정의하는 것입니다.

즉, 부모로부터 상속받은 메서드의 기능을 덮어씌우는 것입니다.

 

특징

  • 메서드 이름, 매개변수, 반환 타입 모두 부모 클래스와 동일해야 합니다.
  • 부모 클래스의 접근 제어자보다 더 좁은 범위로 변경할 수 없습니다 (ex) protected --> private 불가)
  • @Override 어노테이션을 붙이는 것이 권장됩니다.\

예시코드

class Animal {
        void sound() {
                 System.out.println("Animal make a  sound");
         }
}

class Dog extends Animal {
         @Override
          void sound( ) {
                   System.out.println("Dog barks");
          }
}

public class Main {
           public static void main(String[ ] args) {
                    Animal myAnimal = new Dog( );
                   myAnimal.sound( );           // Dog barks
            }
}

 

  • 언제? 부모 클래스의 메서드를 자식 클래스에서 새로운 동작으로 대체하고 싶을 때
  • 어디에서? 상속 관계에서 사용