ch6-30,31 오버로딩
ch6-30 오버로딩
- 한 클래스 안에 같은 이름의 메서드 여러 개 정의하는 것
ex )
void println()
void println(boolean x)
void println(int x )
...
오버로딩 성립하기 위한 조건
- 메서드 이름이 같아야 한다.
- 매개변수의 개수 또는 타입이 달라야 한다.
- 반환 타입은 영향이 없다.
ex )
int add(int a, int b) { return a+b; }
int add(int a , int b , int c ) { return a +b + c ; }
int add(int a , long b) {return a+b; }
int add(long a,int b) { return a+b; }
→ 3가지 모두 조건 성립
class Ex6_10 {
public static void main(String args[]) {
MyMath3 mm = new MyMath3();
System.out.println("mm.add(3, 3) 결과:" + mm.add(3,3));
System.out.println("mm.add(4L, 3) 결과: " + mm.add(4L,3));
System.out.println("mm.add(3, 5L) 결과: " + mm.add(3,5L));
System.out.println("mm.add(3L, 8L) 결과: " + mm.add(3L,8L));
int[] a = {100, 200, 300};
System.out.println("mm.add(a) 결과: " + mm.add(a));
}
}
class MyMath3 {
int add(int a, int b) {
return a+b;
}
long add(int a, long b) {
return a+b;
}
long add(long a, int b) {
return a+b;
}
long add(long a, long b) {
return a+b;
}
int add(int[] a) { // 배열의 모든 요소의 합을 결과로 돌려준다.
int result = 0;
for(int i=0; i < a.length;i++)
result += a[i];
return result;
}
}
Author And Source
이 문제에 관하여(ch6-30,31 오버로딩), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@dbswhd493/ch6-3031-오버로딩저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)