오버로딩
한 클래스 안에 같은 이름을 가진 메소드들을 동시에 정의하는 것.
over + load로 생각하면 된다 → 중복하기
오버로딩의 조건
- 메서드 이름이 같아야 한다.
- 단, 매개변수의 갯수와 타입이 달라야 한다.
오버로딩의 예시
c
class ft_add() {
int add(int x, int y) {return x + y;}
long add(long x, long y) {return x + y;}
String add(String x, String y) {return x + y;}
}
가변인자와 오버로딩
다음과 같이 가변인자를 사용할 수 있다.
java
static String concate(String... args) {...}
static String concate(String... args, String s) {...}
가변인자는 내부적으로 배열을 사용하는 것이다.
다만, 가변인자를 쓴 메소드들은 구분되기 쉽지 않기 때문에
함부로 오버로딩시키지 않는 것이 현명하다.