: 메소드 오버로딩(overloading)이란 같은 이름의 메소드를 중복하여 정의하는 것을 의미한다.
메소드 오버로딩의 조건
자바에서 메소드 오버로딩이 성립하기 위해서는 다음과 같은 조건을 만족해야 한다.
- 메소드의 이름이 같아야 합니다.
- 메소드의 시그니처, 즉 매개변수의 개수 또는 타입이 달라야 합니다.
메소드 오버로딩은 반환 타입과는 관계가 없습니다.
만약 메소드의 시그니처는 같은데 반환 타입만이 다른 경우에는 오버로딩이 성립하지 않습니다.
class Test { static void display(int num1) { System.out.println(num1); } ① static void display(int num1, int num2) { System.out.println(num1 * num2); } static void display(int num1, double num2) { System.out.println(num1 + num2); } } public class Method06 { public static void main(String[] args) { Test myfunc = new Test(); myfunc.display(10); myfunc.display(10, 20); myfunc.display(10, 3.14); ② myfunc.display(10, 'a'); } }