반응형
반응형

오늘은 코틀린에서 가변 인자를 사용하고 싶을 경우 어떻게 사용해야 하는지 알아보겠습니다.

함수를 사용할 경우 고정된 파라미터를 사용하기도 하지만 가변적인 배열을 사용하고 싶은 경우도 있습니다.

코틀린에서는 이런 경우 vararg를 사용해서 배열을 정의합니다.

    fun IntMax(vararg numbers:Int):String
    {
        val sum = numbers.max()
        return sum.toString()
    }
    
    val rString = IntMax(2,4,7,9,10,15)
    Toast.makeText(this, rString, Toast.LENGTH_SHORT).show()

vararg 를 선언하게 되면 파라미터가 배열러 인식됩니다.

아규먼트(argument) 2, 4, 7, 9, 10, 15를 입력하면 MAX 항목인 15를 리턴합니다.

출력시 15를 확인할 수 있습니다.

INT 형태 배열을 사용해서 INT 가변 인자를 확인 할 수 있습니다.

그럼 이번에는 String을 사용해보겠습니다.

    fun StringAll( vararg StringList:String):String{
        val rText = StringList.joinToString()
        return rText
    }
    
    val rString = StringAll("A","S","D", "H", "I")
    Toast.makeText(this.application, rString, Toast.LENGTH_SHORT).show()

StringAll 함수는 파라미터(parameter) StringList를 vararg로 선언했습니다.

함수 내부에서 String 배열을 확인해서 입력된 아규먼트를 확인할 수 있습니다.

StringAll 함수는 입력된 String를 연결해서 리턴하게 되어 있습니다.

출력 결과 "A,S.D.H.I"를 확인 할 수 있습니다.

vararg는 다른 파라미터와 함께 사용이 가능합니다.

 

 

 

fun AllValue( Value1:Int, Value2:String, vararg StringList:String):String{
        val rText = StringList.joinToString()
        val AllText = Value1.toString() + Value2 + rText
        return AllText
    }

val rString = AllValue(123,"더하기","D", "H", "I")
Toast.makeText(this.application, rString, Toast.LENGTH_SHORT).show()

AllValue 함수는 파라미터 INT, String, vararg String를 사용합니다.

아규먼트 123, "더하기", "D", "H", "I"를 입력합니다.

결과는 "123더하기D,H,J" 입니다.

vararg는 다양한 가변 인자를 사용해서 함수를 유연하게 생성할 수 있습니다.

함수에 한개의 vararg만 사용이 가능합니다.

오늘은 코틀린(Kotlin) vararg에 대해서 알아보았습니다.

감사합니다.

반응형

+ Recent posts