가변인자를 활용하면 인자의 갯수를 유동적으로 받을 수 있습니다. 이를 활용하여 메소드를 만들 때 유연하게 대처가 가능할 것 같습니다. 간단한 예시를 확인할 수 있습니다.       1. 가변인자 사용하기 override fun onCreate (s...

[안드로이드] 가변인자 vararg 사용하기 (with 코틀린)

 

가변인자를 활용하면 인자의 갯수를 유동적으로 받을 수 있습니다.

이를 활용하여 메소드를 만들 때 유연하게 대처가 가능할 것 같습니다.

간단한 예시를 확인할 수 있습니다.

 

 

 

1. 가변인자 사용하기

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)

// 인자가 없는 경우 size 0 이다
printString()
printString("vararg1")
printString("vararg1", "vararg2")

// 배열같은 경우 * 를 사용해서 한번에 넘겨줄 수 있다.
val stringArray = arrayOf("vararg1", "vararg2", "vararg3", "vararg4")
printStringWithTag("printStringWithTag1", "vararg1", "vararg2", "vararg3")
printStringWithTag("printStringWithTag2", *stringArray)
}

private fun printString(vararg strings: String) {
var result = ""
for (string in strings) result += "$string "

Log.d("", result)
}

private fun printStringWithTag(tag: String, vararg strings: String) {
var result = ""
for (string in strings) result += "$string "

Log.d(tag, result)
}

 

 

 

2. 결과

D/:
D/: vararg1
D/: vararg1 vararg2
D/printStringWithTag1: vararg1 vararg2 vararg3
D/printStringWithTag2: vararg1 vararg2 vararg3 vararg4

 


 

 

[참고자료]

https://codechacha.com/ko/kotlin-variable-arguments/

 

 

 

 

0 comments: