**한 클래스 안에 같은 이름의 메서드 여러 개를 정의 하는것**
오버로딩이 성립하기 위한 조건
- 메서드 이름이 같아야 한다.
- 매개변수의 개수 또는 타입이 달라야 한다.
- 반환 타입은 영향없다.
public class Ex6_5 {
// 메서드 이름이 같아야한다. 개수 타입에서 에러
int add(int a, int b) { return a+b; } //오버로딩x 동일 메소드 정의
int add(int x, int y) { return x+y; } //오버로딩x
// 반환 타입은 영향없다
int add(int a, int b) { return a+b; } // 오버로딩 x
int add(int a, int b) { return (long)(a+b); } // 오버로딩 x
//매서드 이름이 같고
//매개변수의 개수 또는 타입이 다르므로 오버로딩 ok
long add(int a, long b) { return a+b; }
long add(long a, int b) { return a+b; }
}
'JAVA' 카테고리의 다른 글
객체지향 매개변수가 있는 생성자 (1) | 2022.09.25 |
---|---|
객체지향 생성자 (constructor), 기본 생성자(default constructor) (1) | 2022.09.25 |
객체지향 static 메서드와 instance 메서드 (0) | 2022.09.25 |
객체지향 호출 스택(call stack) (0) | 2022.09.24 |
객체지향 매서드 (1) | 2022.09.24 |