메소드 오버라이딩 (method overriding)
포스트
취소

메소드 오버라이딩 (method overriding)

메소드 오버라이딩(method overriding)이란?

  • 상속 관계에 있는 부모 클래스에서 이미 정의된 메소드를
    자식 클래스에서 같은 시그니쳐를 갖는 메소드로 다시 정의하는 것
  • 상속받은 부모 클래스의 메소드를 재정의하여 사용하는 것

오버라이딩의 조건

  • 메소드의 선언부는 기존 메소드와 완전히 같아야 합니다.
    • 메소드의 반환 타입은 부모 클래스의 반환 타입으로
      형변환할 수 있는 타입이라면 변경할 수 있다.
  • 부모 클래스의 메소드보다 접근 제어자를 더 좁은 범위로 변경할 수 없다.
  • 부모 클래스의 메소드보다 더 큰 범위의 예외를 선언할 수 없다.

사용 예시

class Parent {
    void display() { System.out.println("부모 클래스의 display() 메소드입니다."); }
}

class Child extends Parent {
    void display() { System.out.println("자식 클래스의 display() 메소드입니다."); }
}
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.