[kotlin] 코틀린 리플렉션을 이용한 함수 파라미터 정보 확인

코틀린은 리플렉션(Reflection) 기능을 통해 실행 중에 코드의 구조를 검사하고 조작할 수 있는 기능을 제공합니다. 이를 활용하면 컴파일 시점에 알 수 없는 클래스나 메소드의 정보를 파악할 수 있습니다. 이번 포스트에서는 코틀린 리플렉션을 사용하여 함수의 파라미터 정보를 확인하는 방법에 대해 알아보겠습니다.

1. 함수 파라미터 정보 확인

import kotlin.reflect.full.*

fun main() {
    val function = ::someFunction
    val parameters = function.parameters

    for (parameter in parameters) {
        println("Parameter: ${parameter.name} - Type: ${parameter.type}")
    }
}

fun someFunction(value: String, count: Int) {
    // do something
}

위 코드에서 ::someFunction을 통해 someFunction의 정보를 가진 함수 참조(KFunction)를 얻습니다. 그리고 function.parameters를 통해 해당 함수의 파라미터 정보를 확인할 수 있습니다. 이를 통해 각 파라미터의 이름과 타입을 출력하며 확인할 수 있습니다.

이제 코틀린 리플렉션을 이용하여 함수의 파라미터 정보를 확인하는 방법을 알아보았습니다. 이를 통해 동적으로 함수의 구조를 파악하고 활용할 수 있습니다.

참고 자료