예1) 오버로딩x(같은 메서드 중복정의) - 조건 1만 성립
int add(int a, int b) { return a+b; }
int add(int x, int y) { return x+y; }
예2) 오버로딩x(중복정의) - 조건 1과 3만 성립(반환 타입은 상관 없으니까)
int add(int a, int b) { return a+b; }
long add(int a, int b) { return (long)(a+b); }
예3) 오버로딩o - 조건 1,2,3 성립한다.
long add(int a, long b) { return a+b; }
long add(long a, int b) { retrun a+b; }
이때,
add(3, 3)
을 호출하면, 어떤 메서드가 호출될까?
⇨ ambiguous(모호하다/명확하지 않다) error 발생.