본문 바로가기
🌱 Computer Science/Programming

[Programming] 오버라이딩(Overriding) Vs 오버로딩(Overloading)

by 카프리썬_ 2020. 1. 12.
728x90
728x90

정리

오버라이딩 상속관계에서 부모클래스의 내용을 자식클래스에서 재정의 하는것입니다.

오버로딩 같은클래스에서 매개변수,리턴값이 다르지만 같은 이름의 메소드를 정의하는 것입니다.

 

* 오버라이딩(조상에게 받은 메서드의 구현부를 바꿈) 조건

ⓐ 선언부가 같아야 한다(이름 / 매개변수 / 리턴타입)

ⓑ 접근제어자를 좁은 범위로 변경할 수 없다.

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

 

* 오버로딩 조건

ⓐ 메서드의 이름이 같아야 한다.

ⓑ 매개변수의 개수 or 타입이 달라야 한다. (리턴타입은 오버로딩 구현과 관계 없다)

 

 

 

오버라이딩 Overriding

(영어사전 뜻 : Overide가 무효, 무시, 기각하다 즉, 가장 우선되는)

상속관계에서 부모 클래스에서 정의한 메서드를 자식 클래스에서 재정의하는 것

부모 클래스가 가지고 있는 메서드가 자식 클래스로 상속되어 자식 클래스에서 함수 재사용 가능

그래서 자식 클래스에서 함수에 대한 재정의가 이루어질 때 이를 최우선 한다.

함수 이름, 매개변수, 리턴 값이 같은 함수로 덮어씀.

오버 로딩 Overloading (과부하 느낌)

같은 클래스에서 같은 이름의 메서드를 사용하는 것

같은 이름의 함수지만 리턴 타입, 매개변수가 다르게 정의

 

 

 

 

 

728x90
반응형