[개발] 지식/Java

Overriding 과 Overloading의 차이

하하미아 2016. 9. 18. 22:03

오버로딩(Overloading) 

하나의 클래스 내에서 이름이 동일한 함수를 여러개 정의 하는 것.

하지만 파라미터의 개수와 타입이 달라야 한다.


오버라이딩(Overriding)

함수를 재정의 하는 것. 주로 클래스를 상속받거나 인터페이스를 구현할 때 기존에 존재하던 함수의 내용을 재정의 하는 것.

함수명, 파라미터, 리턴타입까지 모두 동일해야 한다.

정리

구분 

오버로딩 

오버라이딩 

메소드 이름 

동일 

동일 

매개변수, 타입 

다름 

동일 

리턴 타입 

상관없음 

동일