본문 바로가기
Java (국비)/Java 이론

상속 4

by Hwanii_ 2023. 5. 15.
728x90

오버라이딩 (Overriding)

: 기존의 부모 클래스가 가지고 있는 기능을 조금 변형해서 구현 하고 싶다 !

== 메서드를 재정의

 

=>  메서드를 재정의 한것이므로, 상속 관계일 때만 발생할 수 있고,

메서드의 시그니쳐가 같아야 한다.

 

VS

 

오버로딩 (Overloading)

: 함수명 중복 정의를 허용 !

1. 메서드 이름이 같아야 한다.

2. 매개변수의 개수 또는 타입이 달라야 한다.

3. 반환 타입은 관계없다.

 

=> 대표적인 예시

println();

상속과 무관하고,

메서드 시그니쳐가 달라야 한다.

 

괄호안에, String타입이 와도, int타입이 와도 모두 ok.

 

오버라이딩 예시

 

부모 클래스 Shape
자식 클래스 Rect

기능이 유사하면 메서드의 이름을 통일

r.print(); 를 하면, 부모의 print() 메서드가 아니라, 자식의 print() 메서드가 실행 된다.

반응형

'Java (국비) > Java 이론' 카테고리의 다른 글

(접근)제어자 private 과 getter,setter  (0) 2023.05.17
클래스에서의 타입 변환  (0) 2023.05.16
상속 3  (0) 2023.05.15
상속 2  (0) 2023.05.15
상속  (0) 2023.05.15