오버로딩은 파라미터(매개변수)가 다를 때 동일 클래스에 같은 이름의 함수를 중복하여 생성하는 방법이다.
개발자 입장에서 함수명이 같으면 동일한 기능임을 추측 할 수 있다.
객체지향 프로그래밍의 특징 중 하나인 다형성(polymorphism)을 구현하는 방법 중 하나이다.
함수에 사용되는 이름을 절약할 수 있다.
함수를 호출할 때 매개변수 타입이나 개수에 대해 크게 신경을 쓰지 않고 호출할 수 있다

자바에서 메소드 오버로딩이 성립하기 위해서는 다음과 같은 조건을 만족해야 합니다.
public class MethodOverloading {
//동작으로만 이루어진객체
public void pageOpen(int a,int b) {
System.out.println(" pageOpen int int(int a, int b)");
System.out.println(a+b);
}
public void pageOpen(float a,int b) {
System.out.println("pageOpen float int(int a, int b)");
System.out.println(a+b);
}
public void pageOpen(float a,float b) {
System.out.println(" pageOpen float float(float a,float b)");
System.out.println(a+b);
}
}
public class OOP05_Overloading {
public static void main(String[] args) {
MethodOverloading ov= new MethodOverloading();
ov.pageOpen(20,50);
ov.pageOpen(20.5f, 10);
ov.pageOpen(40.5f, 34.5f);
}
}