-
[JAVA] 매개 변수의 수를 모를 때[Java] 2023. 7. 3. 02:11
메소드의 매개 변수는 개수가 이미 정해져 있는 것이 일반적.
하지만 경우에 따라서 메소드를 선언할 때 매개 변수의 개수를 알 수 없는 경우가 생긴다.
예를 들어 여러 개의 수를 모두 합산하는 메소드를 선언할 때 몇 개의 매개 변수가 입력될지 알 수 없기 때문에 매개 변수의 개수를 결정할 수 없을 것이다.
이 때, 매개 변수를 배열 타입으로 선언하는 것이다.
int sum1 (int[] values) { }
sum1 () 메소드를 호출 -> 배열을 넘겨줌 -> 배열의 항목 값들을 모두 전달 가능
배열의 항목 수는 호출할 때 결정된다.
int[] values = { 1, 2, 3 }; int result = sum(values); int result = sum1(new int[] { 1, 2, 3, 4, 5 } );
매개 변수를 배열 타입으로 선언 => 메소드를 호출하기 전에 배열을 생성해야 함
배열을 생성하지 않고 값의 리스트만 넘겨주는 방법을 사용하는 것이 더 간편함.
int sum2(int ... values) { }
메소드의 매개 변수를 "..." 를 사용해서 선언하게 되면, 메소드 호출 시 넘겨준 값의 수에 따라 자동으로 배열이 생성되고 매개값으로 사용됨.
int result = sum2 (1, 2, 3); int result = sum2 (1, 2, 3, 4, 5);
"..." 로 선언된 매개 변수는 배열 타입 => 배열을 직접 매개값으로 사용 가능
int[] values = { 1, 2, 3 }; int result = sum2(values); int result = sum2(new int[] {1, 2, 3, 4, 5});
'[Java]' 카테고리의 다른 글
[Java] 인터페이스 (0) 2023.10.26 예외 처리 (6) 2023.07.03 this 와 this() 의 용도 (6) 2023.05.21