1. 오버로딩(overloading)이란?
메서드도 변수처럼 같은 클래스 내에서 서로 구별될 수 있어야 하기 때문에 각기 다른 이름을 가져야 한다.
그러나, 자바에서는 한 클래스 내에 이미 사용하려는 이름과 같은 이름을 가진 메서드가 있더라도 매개변수의 개수 또는 타입이 다르면, 같은 이름을 사용해서 메서드를 정의할 수 있다.
이처럼, 한 클래스 내에 같은 이름의 메서드를 여러 개 정의하는 것을 '메서드 오버로딩(method overloading)', 간단히는 '오버로딩(overloading)'이라고 한다.
2. 오버로딩의 조건
1. 메서드 이름이 같아야 한다.
2. 메개변수의 개수 또는 타입이 달라야 한다.
* 반환 타입은 오버로딩을 구현하는데 아무런 영향을 주지 못한다.
3. 오버로딩의 예 : println()
void println();
void println(boolean x);
void println(char x);
void println(char[] x);
void println(double x);
void println(float x);
void println(int x);
void println(long x);
void println(Object x);
void println(String x);
참고문헌 : 남궁성(2016), Java의 정석, 도우출판