from Dictionary - 가변인자
Variable Argument
가변 인수 사용법
메서드 파라미터 부분에 타입… 매개변수명 으로 처리하면 사용이 가능하다. 가변 인수는 전달 인자를 0개부터 n개까지 넣을수 있다. 그리고 파라미터로 넘겨지는 값들을 모아서 컴파일시 배열로 처리된다. 주의할점은 인자들의 갯수에는 제한이 없지만, 배열 자료형은 매개변수 타입으로 명시된 것에 따라간다는 점이다. 만일 매개변수가 가변 인자 외에 다른 매개 변수들도 받는다면, 반드시 가변 인자를 메서드 파라미터 가장 마지막에 위치하도록 정의해야 한다. 그리고 매개변수가 넘겨지는 순서는, 인자들이 앞에 있는 파라미터 부터 차례대로 넘겨지고 남은 나머지 인자들이 가변 인자로 넘겨지게 된다.
주의점
- 가변 인자 자체가 성능에 좋지않다. (배열 선언)
- 가변 인수 자체를 오버로딩하면 컴파일러가 어떤 메소드를 사용해야할지 구분하지 못한다.
- 배열 타입 매개변수와 혼용하지 않기
public void print( String ... str ) {} public void print( String[] str) {} - 제네릭과 혼합하면 신중하게 -> 제네릭은 배열로 실체화 불가하다.