• 한 클래스 안에서 동일한 이름의 메소드를 여러개 선언
  • 매개변수 선언부 어떻게든 달라야 한다.(type, 순서, 갯수 등... )

 


  주의점

  • 매개변수명, 접근제한자, 리턴타입은 상관치 않으므로 다른 메소드로 인정할 수 없다. 
  •  매개 변수의 타입은 다르지만,   동일한 작업을 하는 메소드를 그룹핑할 용도, overloading사용
  • (println의 호출 경우를 생각하자)

 

public class MethodOverloadingStudy {
	
	public static void main(String[] args) {
		MethodOverloadingStudy study = new MethodOverloadingStudy();
		study.test(10);
		study.test("hi",100);
		
		 System.out.println(123); //printlnint
		 System.out.println(true);//printlnboolean
		 System.out.println("hi");
//		 System.out.println(new Date());
		//접근제한자가 다른 것은 구분할 수 없다.
		//매개변수명이 다른 것은 호출시 구분할 수 없다.
		//리턴 타입이 다른 것은 호출시 구분할 수 없다.
	}
	public void test() {}
	public void test(int a) {}
//	public void test(int i ) {}
//	private void test(int a) {}
//	public int test(int a) {}
	public void test(int a, int b) {}
	public void test(int a, String b) {}
	
	public void test(char a) {}
	public void test(String b, int a) {}
	
}