티스토리 뷰

반응형

 

 

 


Variadic Parameters
가변 매개변수

오늘은 스위프트 문법인 Variadic Parameters, 가변 인자, 가변매개변수에 대해서 알아보겠습니다. Variadic Parameter에 대해 알아보기 전에 구체적인 그 의미를 구글 번역기를 통해 찾아봤지만...

 

 


위와 같이 그 뜻을 한국어로 알려주지를 않는 모습입니다.(구글번역기알못) 😢 결론적으로 Variadic의 뜻을 보자면, "임의의 갯수 인수를 받을 수 있는" 이라고 할 수 있습니다. "임의의 갯수를 받을 수 있다" 라는게 어떤 것인지 밑에서 보도록 하겠습니다. 

다시한번 말하자면, Variadic parameter는 0개 ~ 다수의 특정 타입 인수를 받을 수 있는 매개변수라고 할 수 있습니다. Variadic 매개변수는 특정 타입을 명시해서 메서드가 호출될 때 전달되어 사용될 수 있습니다. Variadic 매개변수를 사용하기 위해서는 해당 매개변수의 타입 이름 뒤에 "..."를 붙여주어 사용합니다. ex) Int.../ Double...

가변할 수 있는(Variadic) 매개변수로서 전달 되는 매개변수는 메서드 블럭 내에서 적절한 타입의 배열로서 만들어질 수 있습니다. 예를들면, 가변인자(Variadic parameter)는 Double..., Int... 등의 타입으로서 명시될 수 있으며 이는 메서드 블럭 내에서 각각 [Double], [Int] 상수 배열(constant array)로서 만들어질 수 있습니다. 

아래의 예시는 임의의 가변 길이를 가진 배열 리스트 값의 평균 값을 산출하는 산수 목적의 메서드를 사용할 때 Variadic 매개변수를 사용하는 예시가 됩니다. 

 

 


Usage of Variadic Parameters
가변 매개변수 사용법

Variadic Parameter, 가변인자를 사용한 calculateAverage 메서드 사용 예시

위의 메서드, calculateAverage는 다수의 Double 타입 인수를 받아 인수들의 평균값을 산출하는 메서드입니다. 

calculateAverage 메서드의 매개변수, numbers는 Double... 로 정의된 Variadic 매개변수입니다.
즉 해당 매개변수는 [] 일수도, [3.14]일 수도, [1, 2, 3]이 될 수도 있습니다. 이렇게 받은 Variadic 매개변수의 총 합을 구한 뒤, Variadic 매개변수로 나눈 평균값을 반환하고 있습니다. (단, Variadic 매개변수는 위의 코드에서 볼 수 있듯이, 인자값이 없을 수도 있습니다. 이 경우, 평균값 연산 시 NaN(Not a Number)가 될 수 있으므로, 값이 없을 경우 1로 나눌 수 있도록 max메서드를 사용했습니다.)

위의 예시로 알 수 있듯이, 가변 매개변수(Variadic parameter)는 0개 혹은 다수의 인자를 받아 사용할때 사용할 수 있습니다.

NOTE
하나의 Variadic 매개변수 자체가 다수의 인수가 될 수 있기 때문에, 하나의 메서드에서 Variadic 매개변수는 단 한개만 사용될 수 있습니다.

 

 

 


이처럼 Variadic parameter 가변 타입의 경우, 0개 혹은 다수의 특정 타입 가변 인수가 들어올 수 있을때 사용할 수 있겠습니다. 👍🏼
지금까지 Variadic parameter 가변 인자 특징 및 사용법에 대해서 알아보았습니다. 즐거운 하루 되세요 👨🏻‍💻

 

 

반응형
댓글
반응형
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함