매개변수의 가변 인자 선언과 호출
class Varargs {
public static void showAll(String ... vargs) {
System.out.println("LEN : " + vargs.length);
for(String s : vargs)
System.out.print(s + '\t');
System.out.println();
}
public static void main(String[] args) {
showAll("Box");
showAll("Box", "Toy");
showAll("Box", "Toy", "Apple");
}
}
가변 인자 선언에 대한 컴파일러 처리
public static void showAll(Stirng...vargs) { . . . }
vargs를 배열의 참조변수로 간주하고 코드를 작성하면 된다.
public static void main(String[] args) {
showAll("Box");
showAll("Box", "Toy");
showAll("Box", "Toy", "Apple");
}
-> 컴파일러가 다음과 같이 배열 기반 코드로 수정을 한다.
public static void showAll(String[] vargs) { . . . }
public static void main(String[] args) {
showAll(new String[]{"Box"});
showAll(new String[]{"Box", "Toy"});
showAll(new String[]{"Box", "Toy", "Apple"});
}
'# 02 > Java' 카테고리의 다른 글
[윤성우 열혈자바] 26-1. 네스티드 클래스와 이너 클래스 (0) | 2019.10.25 |
---|---|
[윤성우 열혈자바] 25-3. 어노테이션 (0) | 2019.10.25 |
[윤성우 열혈자바] 25-1. 열거형 (0) | 2019.10.25 |
[윤성우 열혈자바] 24-1. 컬렉션 기반 알고리즘 (0) | 2019.10.25 |
[윤성우 열혈자바] 23-5. Map<E> 인터페이스를 구현하는 컬렉션 클래스들 (0) | 2019.10.24 |