Ch6-30_오버로딩(overloading)
한 클래스 안에 같은 이름의 메서드 여러 개 정의하는 것
오버로딩이 성립하기 위한 조건
1. 메서드 이름이 같아야 한다.
2. 매개변수의 개수 또는 타입이 달라야 한다.
3. 반환 타임은 영향없다.
보기1 : 오버로딩 X
int add(int a, int b) { return a+b;}
int add(int x, int y) { return x+y;}
보기2 : 오버로딩 X
int add(int a, int b) {return a+b;}
long add(int a, int b) {return (long)(a+b);}
보기3 : 오버로딩 O
long add(int a, long b) {return a+b;}
long add(long a, int b) {return a+b;}
Ch6-31_오버로딩(overloading) - 예제
오버로딩의 올바은 예 - 매개변수는 다르지만 같은 의미의 기능수행
class MyMath3 {
int add(int a, int b) {
System.out.print("int add(int a, int b) - ");
return a+b;
}
long add(long a, long b) {
System.out.print("long add(long a, long b) - ");
return a+b;
}
int add(int[] a) {
System.out.print("int add(int[] a) - ");
int result = 0;
for(int i=0; i<a.length; i++)
result += a[i];
return result;
}
}
'JAVA > Chapter6' 카테고리의 다른 글
Ch6-36_생성자 this() (0) | 2022.02.13 |
---|---|
Ch6-32_생성자(constructor) (0) | 2022.02.13 |
Ch6-26_static 메서드와 인스턴스 메서드 (0) | 2022.02.13 |
Ch6-24_참조형 매개변수 (0) | 2022.02.13 |
Ch6-22_호출스택(call stack) (0) | 2022.02.12 |