overloading: 한 클래스 안에 같은 이름의 메서드를 여러 개 정의하는 것.
조건:
1. 메서드 이름이 같아야함
2. 매개변수의 개수 또는 타입이 달라야 함
3. 반환 타입은 영향 없음.
- 오버로딩이 아닌경우
already defined.
int add(int a, int b){ return a+b}
int add(int x, int y){ return x+y}
int add(int a, int b){ return a+b}
int add(int a, int b){ return (long) a+b}
- 오버로딩인 경우,
long add(int a, long b){ return a+b}
long add(long a, int b){ return a+b}
하지만, a=3, b=3일 경우, ambiguous가 뜸.
'Self-study > 자바' 카테고리의 다른 글
[Java] HashMap (0) | 2024.01.02 |
---|---|
[자바/Java] Method(메서드)/ Return / Call Stack (0) | 2023.09.15 |
[자바/Java] 변수(Variable) (0) | 2023.09.15 |
[자바/Java] 클래스와 객체 (0) | 2023.09.09 |