Android 개발/Kotlin

vararg 로 가변 인자를 전달하는 방법 #Kotlin

Developer88 2020. 5. 11. 00:01
반응형

Kotlin에서 n개의 가변되는 인자를 전달하는 방법은 어떻게 표현할 수 있을까요?

오늘은 이 방법에 대해서 정리해 보도록 하겠습니다.

 

1. 가변인자

가변인자는 인자의 수가 유동적인 경우에 사용하는 데요.

쉽게 생각할 수 있는 곳이, 바로 Room Persistence Library를 이용해서,

insert를 사용하는 경우입니다.

사용하는 방법은 아래와 같이 인자앞에 vararg라는 지시어를 사용해 붙여서 사용해 줍니다.

 

 

어디에 사용하는지는 알았는데,

실제로 어떻게 n개의 인자를 넣어줄 수 있을까요?

아래와 같이 들어온 인자들에 for in 문을 사용해 줄 수 있습니다.

이렇게 하면, 기존처럼 list를 인자로 받을 필요가 없어지는데요.

 

들어온 input 인자는 Array객체로 해당하는 메소드들을 모두 사용할 수 있습니다.

 

 

그런데 위와같이 vararg지시어를 가진 함수에,

array를 통째로 전달하고자 하면 어떻게 할 수 있을까요?

아래와 같이 앞에 별표(*)기호를 사용해 주면 됩니다.

 

 

 

이 기호를 이용해서,

아래와 같이 다른 인자와 함께 array객체를 넣어주는 것도 가능합니다.

 

 

이상으로 vararg 지시어를 이용해서,

n개의 가변인자를 넣어서 사용하는 방법에 대해서 정리해 보았습니다.

 

더 좋은 방법이 있으면 이 글을 통해서 업데이트 하도록 하겠습니다.

728x90