[Java] 가변인자
2022. 2. 17. 20:09ㆍLanguage`/Java
가변인자 선언 :: '타입... 변수명'
- JDK1.5부터 메소드의 매개변수를 동적으로 지정해 줄 수 있게 되었다 :: 가변인자 가능
- 파이썬의 *args와 비슷한 역할을 한다
public class test3{
public static void main(String[] args) {
System.out.println(getSum(1, 2, 3, 4, 5));
System.out.println(getSum(1, 5, 10));
System.out.println(getSum(new int[] {10, 20, 30, 40, 50}));
}
static int getSum(int... args){
int sum = 0;
for(int n : args)
sum += n;
return sum;
}
}
--------------
15
16
150
- 결국 가변인자는 내부적으로 배열을 이용해서 쓰는 기법이다
- 따라서, 가변인자가 선언된 메소드를 호출할 때마다 배열이 새로 생성된다