티스토리 뷰

study/Java

오버라이딩 (overriding)

xoxowo 2022. 12. 17. 00:36

오버 라이딩 (overriding)

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

 

오버 라이딩 조건

선언부가 서로 일치해야 한다.

자손 클래스에서 오버 라이딩하는 메서드는 조상 클래스의 메서드와 이름, 매개변수, 반환 타입이 같아야 한다.

 

※ 단, 접근 제어자와 예외는 제한된 조건 하에서만 다르게 변경할 수 있다.

 

 

 

다시 한 번 집고가는 오버로딩과 오버라이딩 차이

오버로딩

한 클래스 내에 같은 이름의 메서드를 여러 개 정의하는 것 (메서드 이름이 같아야하며, 매개변수의 개수 또는 타입이 달라야한다)

 

오버라이딩

상속받은 메서드의 내용을 변경하는 것 (선언부가 일치해야한다)

 

class Parent {
	void parentMethod() {}
}

class Child extends Parent {
    void parentMethod() {} // 오버라이딩 
    void parentMethod(int i) {} //오버로딩 (매개변수의 타입, 개수가 다름)
    
    void childMethod() {} 
    void childMethod(int i) {} // 오버로딩 
    void childMethod() {}    // 이미 위에 메소드가 중복 정의되어있어 에러 발생
}

'study > Java' 카테고리의 다른 글

추상 클래스 & 메서드  (0) 2022.12.22
제어자 (modifier)  (0) 2022.12.20
상속 (inheritance)  (0) 2022.11.16
생성자 (constructor)  (0) 2022.11.10
오버 로딩 (overloading)  (0) 2022.11.08
댓글