오버로딩은 파라미터(매개변수)가 다를 때 동일 클래스에 같은 이름의 함수를 중복하여 생성하는 방법이다.

개발자 입장에서 함수명이 같으면 동일한 기능임을 추측 할 수 있다.

객체지향 프로그래밍의 특징 중 하나인 다형성(polymorphism)을 구현하는 방법 중 하나이다.

오버로딩이 필요한 이유

함수에 사용되는 이름을 절약할 수 있다.

함수를 호출할 때 매개변수 타입이나 개수에 대해 크게 신경을 쓰지 않고 호출할 수 있다

함수 오버로딩의 예

image.png

메소드 오버로딩의 조건

자바에서 메소드 오버로딩이 성립하기 위해서는 다음과 같은 조건을 만족해야 합니다.

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);
	}

}