728x90
반응형
package chap6;
/*
* 오버로딩 메서드의 선택기준
* 1. 입력된 인자값의 자료형과 메서드의 선언부에 정의된 자료형이 동일한 메서드 선택
* 2. 1번의 조건이 없는 경우
* 입력된 인자값의 자료형이 메서드의 선언부에 정의된 자료형으로 자동형변환 되는 메서드 선택
* => *동일한 조건의 메서드가 여러개인 경우 오류 발생
*
* 오버로딩 조건
* 1. 메서드명이 같다.
* 2. 매개변수가 다르다. (자료형 기준)
* 3. 리턴타입, 접근제어자, 예외처리는 상관없다. 같아도 되고, 달라도 된다.
*/
class Math3 {
int add(int a, int b) {
System.out.print("1: int int 메서드 결과:");
return a+b;
}
long add(int a, long b) {
System.out.print("2: int long 메서드 결과:");
return a+b;
}
long add(long a, int b) {
System.out.print("3: long int 메서드 결과:");
return a+b;
}
long add(long a, long b) {
System.out.print("4: long long 메서드 결과:");
return a+b;
}
}
public class OverloadingEx2 {
public static void main(String[] args) {
Math3 m = new Math3();
System.out.println(m.add(10, 10));
System.out.println(m.add(10, 10L));
System.out.println(m.add(10L, 10));
System.out.println(m.add(10L, 10L));
}
}728x90
반응형
'study > Java' 카테고리의 다른 글
| [Java] 20. 생성자 오버로딩 (0) | 2022.03.18 |
|---|---|
| [Java] 20. 생성자 (0) | 2022.03.18 |
| [Java] 20. 오버로딩 (0) | 2022.03.18 |
| [Java] 19. 클래스와 인스턴스의 호출 (0) | 2022.03.18 |
| [Java] 19. Factorial (0) | 2022.03.18 |