[kotlin] 코틀린 리플렉션을 이용한 메소드 시그니처 확인
먼저, 리플렉션을 사용하기 위해 KClass
를 가져옵니다. 그 다음 KFunction
을 사용하여 해당 클래스의 메소드를 가져올 수 있습니다. 이제 메소드의 이름, 매개변수 타입 및 반환 타입 등의 정보를 확인할 수 있습니다.
import kotlin.reflect.full.*
class MyClass {
fun myMethod(name: String, age: Int): String {
return "Hello, $name! Your age is $age."
}
}
fun main() {
val myClass = MyClass::class
val function = myClass.declaredMemberFunctions.find { it.name == "myMethod" }
function?.let {
println("Method name: ${it.name}")
println("Return type: ${it.returnType}")
it.parameters.forEach { param ->
println("Parameter: ${param.name} - ${param.type}")
}
}
}
위 예제에서는 MyClass
의 myMethod
메소드의 시그니처를 확인하는 방법을 보여줍니다. 프로그램을 실행하면 메소드의 이름, 반환 타입 및 매개변수의 정보가 출력됩니다.
이와 같이 코틀린의 리플렉션을 활용하면 메소드의 시그니처를 동적으로 확인할 수 있습니다.
참고 자료: