티스토리 뷰
가변인자
가변인자란 쉽게 얘기해서 전달할 값이 몇개이던 처리를 할수 있다는 것을 말하며
매개변수의 개수를 '동적'으로 지정한다.
그림1
그림1은 main()메서드안에 출력 할 매개변수들을 입력하였다.
일단 add변수를 보게되면 원래 매개변수를 2개만 지정해두었지만 전에 배웠던 오버로딩을 이용하면 가능해진다.
그리고 addEx라는 변수는 오늘 얘기 할 가변인자를 이용하게 될것인데 addEx를 호출 시 전달한는 값이 얼마가 되던 다 처리가 될것이다.
또한 가변인자를 사용하기 위해서는 대표적으로 가변인자를 사용하는 메서드인 printf )를 이용할 것이다.
그림2
그림2는 가변인자를 사용하는 코드이다.
가변인자는 " ... " 이라는 부호가 붙으면 가변인자이며 가변인자는 내부적으로 배열을 이용한다.
즉 nums는 배열처럼 사용한다는 것이다.
그리고 for문과 배열에서 이용하는 length등을 이용하여 배열의 모든 요소의 합을 구하는 코드를 짜보았다.
그림3
그림3은 오버로딩을 이용하여 매개변수를 더 늘려주었다.
만약 숫자를 임의로 더 늘리고 싶어 5 ~ 10 ~ 100개의 오버로딩을 하게 되면 매우 비효율적이기 때문에 이때 가변인자를 많이 사용한다.
그림4
그림4는 그림1 ~ 그림3 까지의 출력문과 코드들을 이용하여 출력한 값들이다.