메소드 오버로딩(method overloading)이란 같은 이름의 메소드를 중복하여 정의하는 것을 의미한다.
메소드 오버로딩의 장점: 1. 메소드에 사용되는 이름 절약 2. 매개변수 타입이나 개수 고려 x 3. 다형성 구현
메소드 원형
1. println()
2. println(boolean x)
3. println(char x)
4. println(char[] x)
5. println(double x)
6. println(float x)
7. println(int x)
8. println(long x)
9. println(Object x)
10. println(String x)
메소드 오버로딩의 조건
1.메소드의 이름이 같아야 한다.
2.메소드의 시그니처, 즉 매개변수의 개수 또는 타입이 달라야 한다.
메소드 오버로딩의 예제
1. void display(int num1) // 전달받은 num1을 그대로 출력함.
2. void display(int num1, int num2) // 전달받은 두 정수의 곱을 출력함.
3. void display(int num1, double num2) // 전달받은 정수와 실수의 합을 출력함.
lass 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');
}
}
display(10,'a')는 2,3번 모두 호출 가능하지만, 더 작은 표현 범위를 갖는 int형으로 자동 타입 변환 된다.
참고자료
http://www.tcpschool.com/java/java_usingMethod_overloading
'Java > Java Concept' 카테고리의 다른 글
접근제어자 + 제어자 개념 (0) | 2022.07.22 |
---|---|
패키지(package) 개념 (1) | 2022.07.08 |
this와 this() (1) | 2022.07.04 |
생성자 개념 (1) | 2022.07.04 |
메소드 개념 (0) | 2022.07.04 |