
오버로딩은 '과적하다'라는 의미이다.
자바의 한 클래스 내에 이미 사용하려는 이름과 같은 이름을 가진 메소드가 있더라도 매개변수의 개수 또는 타입이 다르면, 같은 이름을 사용해서 메소드를 정의할 수 있다.
사용하는 이유
class OverloadingPractice {
	public static void main(String[] args) {
		OverloadingMethods om = new OverloadingMethods();
		om.print();
		System.out.println(om.print(3));
		om.print("Hello!");
		System.out.println(om.print(4, 5));
	}
}
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();
	}
}
//결과 화면
오버로딩1
오버로딩2
3
오버로딩3
Hello!
오버로딩4
45