[Java기초이론] 오버라이딩(Overriding)

less than 1 minute read

오버라이딩이란?

조상 클래스로부터 ㅁ상속받은 메서드의 내용을 변경하는 것을 오버라이딩이라고 한다.

오버라이딩의 조건

자손 클래스에서 오버라이딩하는 메서드는 조상 클래스의 메서드와

  • 이름이 같아야한다.
  • 매개변수가 같아야 한다.
  • 반환타입이 같아야 한다.

한마디로 요약하면 선언부가 서로 일치해야 한다는 것이다. 다만 접근 제어자(access modifier)예외(exception)는 제한된 조건 하에서만 다르게 변경할 수 있다.

1) 접근 제어자는 조상 클래스의 메서드보다 좁은 범위로 변경 할 수 없다.
조상클래스에 정의된 메서드의 접근 제어자가 protected라면, 이를 오버라이딩하는 자손 클래스의 메서드는 접근 제어자가 protectedpublic이어야한다.

public > protected > (default) > private

2) 조상 클래스의 메서드보다 많은 수의 예외를 선언할 수 없다.

3) 인스턴스메서드를 static메서드로 또는 그 반대로 변경할 수 없다.