[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
를 통해 해당 함수의 파라미터 정보를 확인할 수 있습니다. 이를 통해 각 파라미터의 이름과 타입을 출력하며 확인할 수 있습니다.
이제 코틀린 리플렉션을 이용하여 함수의 파라미터 정보를 확인하는 방법을 알아보았습니다. 이를 통해 동적으로 함수의 구조를 파악하고 활용할 수 있습니다.
참고 자료
- 코틀린 공식 문서: 코틀린 리플렉션
- Kotlin Programming By Examples, Dhiman Ray (2020). “Working with Reflection in Kotlin”, Apress.