본문 바로가기

# 02/Java

[윤성우 열혈자바] 25-2. 매개변수의 가변 인자 선언

반응형

매개변수의 가변 인자 선언과 호출


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"});

}



반응형