상세 컨텐츠

본문 제목

25-2. 매개변수의 가변 인자 선언

JAVA

by 빙하둘리 2022. 9. 13. 00:32

본문

728x90

25-2. 매개변수의 가변 인자 선언

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

...은 가변인자 선언을 의미한다.

String...vargs 매개변수가 여러 개가 되어도 vargs로 받아주겠다. String형 인스턴스를 참조변수 vargs로 다 받아주겠다.

showAll에 전달되는 애들이 몇 개든 배열로 묶이게 된다. )한 개여도-배열 인스턴스 안에 하나가 담긴 꼴

실제로 showAll에 전달되는 것은 해당 배열의 참조값이다.

 

String...vargs실제로는 배열의 참조변수 vargs라고 볼 수 있다.

배열의 참조변수는 길이에 상관없이 참조가 가능하다.

참조변수 vargs가 배열을 가리키게 된다.

 

[가변인자 선언에 대한 컴파일러 처리]

결국 가변인자 선언은 컴파일러가 다음과 같이 처리해서 String[] vargs로 바뀌게 된다. String 인스턴스를 배열로 전달 받을 수 있도록 String 배열의 참조변수 선언으로 바꾼 것

실제로 컴파일러는 "Box"에서  new String[]{"Box"}로 코드를 바꾼다.

결론적으로 가변인자 선언은 배열을 기반으로 선언된다.

 

728x90

관련글 더보기

댓글 영역