객체지향 프로그램에서 사용되는 개념으로
같은 이름의 메서드를 매개변수로 구분한 매서드이다.
1) 매개변수가 달라야 한다.
2) 반환 타입은 메서드 오버로딩과 관계 없다
// 기본형 int public static int add(int a) { return a + a; } // 같은 int 지만 개수가 다르다. public static int add(int a, int b) { return a + b; } // 데이터 타입이 다르다. public static double add(double a, double b) { return a + b; } public static String add(String a, String b) { return a + b; }
// 같은 메서드 add 를 호출하고 있으나 매개 변수가 다름. public static void main(String[] args) { int r1 = add(3); int r2 = add(1, 2); double r3 = add(1.1, 2.1); String r4 = add("Hello", "World"); System.out.println("r1 : " + r1); System.out.println("r2 : " + r2); System.out.println("r3 : " + r3); System.out.println("r4 : " + r4); }
결과 : r1 : 6
r2 : 3
r3 : 3.2
r4 : HelloWorld