[kotlin] 코틀린 리플렉션을 이용한 실행 가능한 메소드 확인

코틀린에서 reflection을 사용하여 특정 클래스의 실행 가능한 메소드를 확인하는 방법에 대해 알아봅시다.

1. 리플렉션 설정하기

import kotlin.reflect.full.*

2. 실행 가능한 메소드 확인하기

fun getRunnableMethods(obj: Any): List<String> {
    val kClass = obj::class
    val methods = kClass.declaredFunctions.filter { it.parameters.isEmpty() }
    return methods.map { it.name }
}

fun main() {
    val obj = MyClass()
    val runnableMethods = getRunnableMethods(obj)
    runnableMethods.forEach { println(it) }
}

위의 코드는 MyClass의 객체에서 실행 가능한 메소드를 확인하는 예제입니다. getRunnableMethods 함수는 주어진 객체의 클래스에서 파라미터가 없는 메소드를 찾아 그 이름을 리스트로 반환합니다.

리플렉션을 사용할 때에는 주의가 필요하며, 프로그램의 안정성을 해칠 수 있으므로 적절한 상황에서 사용해야 합니다.

결론

코틀린의 reflection을 이용하여 실행 가능한 메소드를 확인하는 방법에 대해 알아보았습니다. reflection은 강력한 도구이지만, 사용할 때에는 신중해야 합니다.