가변인자 (jdk 1.5 ↑)
Varargs ( = variable Arguments)
필요에 따라 매개변수(인수)를 가변적으로 조정할수있는 기술.
기존에는 메서드의 매개변수를 고정적으로 지정해주어야만 했으나 JDK1.5부터는 동적으로 매개변수의 개수를 지정해 주 있게 되었다.
// 여러 인자를 나열한 예)
public String methodName(String str1, String str2, String str3){
/*내용 생략*/
}
// 가변인자를 사용한 예)
public String methodName(String... str) {
/* 내용 생략 */
}
가변인수의 대표적인 예는 PrintStream의 printf()와 MessageFormat의 format()이다.
// PrintStream 클래스 의 printf 메서드
public PrintStream printf(String format, Object... args)
// String 클래스 의 format 메서드
public static String format(String format, Object... args)
// 예시)
System.out.printf("d-d-d (%s)"
, 2014, 6, 18,new String("javaking"));
// 결과) 2014-06-18 (javaking)
주의 : 가변인자를 사용할 때 주의해야 할 점은 오버로딩을 하는 경우이다.
그리고 메서드 정의시 가변인자는 제일 마지막에 정의 되어야 한다.
그리고 메서드 정의시 가변인자는 제일 마지막에 정의 되어야 한다.

