가변인자 (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)
주의 : 가변인자를 사용할 때 주의해야 할 점은 오버로딩을 하는 경우이다.
그리고 메서드 정의시 가변인자는 제일 마지막에 정의 되어야 한다.
그리고 메서드 정의시 가변인자는 제일 마지막에 정의 되어야 한다.