오버라이딩(Overriding) vs 오버로딩(Overloading)

CODEDRAGON Development/Java

반응형


 

오버라이딩(Overriding) vs 오버로딩(Overloading)

구분

오버라이딩(Overriding)

오버로딩(Overloading)

의미

재정의

다중 정의 중복 정의

적용

상속관계

특정 클래스

설명

부모 클래스에 있던 상속받은 멤버 함수를 다시 정의하는 것

같은 이름의 멤버 함수를 여러 개 정의하는 것

접근제한

·       super클래스의 메소드보다 sub클래스의 메소드 접근제한이 동일하거나 넓어야 합니다.

 

·        

상관없음

리턴형

기본적으로 같아야 합니다.

상관없음

메소드명

super클래스의 메소드명과 sub클래스의 메소드명이 같아야 합니다.

반드시 같아야 합니다.

인자

(타입, 개수)

반드시 같아야 합니다.

반드시 달라야 합니다.

개념

상속받은 기존의 메소드를 재정의하는 것

새로운 메소드를 정의하는 것

함수

speedUp()

speedDown(int)

speedDown(double)