프로그래밍 언어/Java

[Java] 오버라이딩

eunnys 2024. 1. 25. 15:42

Overriding

  • 오버라이딩은 상속 관계에 있는 부모 클래스에서 이미 정의된 메소드를 자식 클래스에서 같은 시그니처를 갖는 메소드로 다시 정의하는 것을 말한다.
  • 오버라이딩은 다형성을 지원하는 중요한 기능이다.
  • 오버라이딩을 통해 부모 클래스의 메소드를 자식 클래스에서 재정의함으로써, 부모 클래스의 인스턴스와 자식 클래스의 인스턴스를 동일한 방식으로 처리할 수 있다.

 

 

 

 Overriding을 하기 위한 조건

  • 메소드의 이름, 매개변수의 개수, 타입, 반환 타입이 모두 같아야 한다.
  • 접근 제어자는 부모 클래스의 메소드보다 같거나 넓은 범위여야 한다.
  • 부모 클래스의 메소드보다 많은 수의 예외를 선언할 수 없다.
  • 인스턴스 메서드를 static 메서드 또는 그 반대로 변경할 수 없다.

 

 

 

 Overriding을 사용해야 하는 경우

  • 부모 클래스의 메소드의 기능을 확장하거나 변경해야 할 때
  • 부모 클래스의 메소드의 기능을 재정의해야 할 때