자바의 한 클래스내에 이미 사용하려는 이름과 같은 이름을 가진 메소드가 있더라도 매개변수의 개수, 순서, 타입을 다르면 동일한 이름을 사용해서 메서드를 정의 할 수 있다.
1) 메서드이름 하나로 상황에 따른 동작을 개별로 정의할 수 있음
2) 메서드의 이름을 절약할 수 있다.
예)
class OverloadingMethods {
public void print() {
System.out.println("오버로딩1");
}
String print(Integer a) {
System.out.println("오버로딩2");
return a.toString();
}
void print(String a) {
System.out.println("오버로딩3");
System.out.println(a);
}
String print(Integer a, Integer b) {
System.out.println("오버로딩4");
return a.toString() + b.toString();
}
}