[kotlin] 코틀린 리플렉션을 이용한 저장된 필드 값 확인
코틀린에서 리플렉션(Reflection)은 프로그램 실행 중에 클래스의 정보를 조사하고 활용하는 기능을 말합니다. 이 기능을 사용하면 런타임 시에 클래스의 메서드, 필드, 주석 등의 정보를 확인하거나 수정할 수 있습니다.
이번 글에서는 코틀린을 사용하여 리플렉션을 이용해 객체의 저장된 필드 값을 확인하는 방법에 대해 알아보겠습니다.
1. 필요한 라이브러리 추가
먼저, 프로젝트에 kotlin-reflect
라이브러리를 추가해야 합니다. 이 라이브러리는 코틀린 리플렉션을 활용할 수 있도록 도와줍니다.
dependencies {
implementation "org.jetbrains.kotlin:kotlin-reflect:$kotlin_version"
}
위의 코드를 프로젝트의 Gradle 파일에 추가하고, 라이브러리를 동기화하여 추가합니다.
2. 저장된 필드 값 확인하기
이제, 저장된 필드 값을 확인할 클래스를 작성해보겠습니다.
data class Person(val name: String, val age: Int)
위의 코드는 Person
클래스를 정의하고 있습니다. 이 클래스의 저장된 필드 값을 리플렉션을 이용하여 확인하는 방법은 다음과 같습니다.
import kotlin.reflect.full.memberProperties
fun main() {
val person = Person("Alice", 30)
val properties = Person::class.memberProperties
for (prop in properties) {
println("${prop.name} = ${prop.get(person)}")
}
}
위의 코드에서 Person::class.memberProperties
를 통해 Person
클래스의 저장된 모든 필드에 접근할 수 있습니다. 그리고 각 필드의 값을 가져오기 위해서는 prop.get(person)
를 사용합니다.
이제, 이 코드를 실행하면 name = Alice
와 age = 30
이라는 결과를 얻을 수 있습니다.
이렇듯, 코틀린의 리플렉션을 이용하면 객체의 저장된 필드 값을 동적으로 확인할 수 있습니다.
위에서 설명한 방법을 통해, 코틀린에서 리플렉션을 사용하여 객체의 저장된 필드 값을 확인하는 방법에 대해 알아보았습니다.