JAVA/자바의 정석

[자바의 정석 - 기초편] 7. (2) 오버라이딩 (overriding) / 오버로드 (overload)

서영22 2023. 11. 29. 16:48

 오버라이딩 (overriding) 

상속받은 조상의 메서드를 자신에 맞게 변경하는 것 (덮어쓰는 것)

 

구현부 {} 내용만 변경 가능

 

 

 

< 예제 1 >

 

 

상속받은 메서드의 내용을 오버라이딩하여 나에게 맞게 바꿈

 

 

 

< 예제 2 >

 

 

 

 

 

오버라이딩 조건

 

1. 선언부가 조상 클래스의 메서드와 일치해야 함

 

2. 접근 제어자를 조상 클래스의 메서드보다 좁은 범위로 변경할 수 없음

 

3. 예외는 조상 클래스의 메서드보다 많이 선언할 수 없음

 

 

 

 

 오버로딩  VS  오버라이딩 

오버로딩 (overloading) : 기존에 없는 새로운 메서드를 정의하는것 (new)

                                         이름만 같은 메서드를 새로 정의

 

오버라이딩(overriding) : 상속받은 메서드의 내용을 변경하는 것 (change, modify)

                                         조상의 메서드를 자손에서 변경