메소드에 전달되는 인자의 개수가 정해져 있지 않을 때 사용하는 기능이다.
가변인자를 사용하면 같은 타입의 여러 인자를 개수에 상관없이 전달할 수 있다.
선언할 때는 자료형 뒤에 점 세 개(...)를 붙여 사용한다.
void print(int... numbers) {
// ...
}
가변인자는 메소드 내부에서 배열처럼 사용할 수 있다.
void print(int... numbers) {
for (int number : numbers) {
System.out.println(number);
}
}
따라서 다음과 같이 인자의 개수를 다르게 전달할 수 있다.
print(1);
print(1, 2, 3);
print(1, 2, 3, 4, 5);
단, 하나의 메소드에서는 가변인자를 하나만 사용할 수 있으며, 가변인자는 반드시 매개변수의 가장 마지막에 위치해야 한다.