[Kotlin] 리플렉션

짐니·2024년 7월 21일
0
post-thumbnail
inline fun <reified T : Any> createObject(clazz: KClass<out T>): T {
    return clazz.java.newInstance()
}

1) inline -> inline 함수를 사용하여, 사용 시 함수 호출이 아닌, 함수 본문을 가지고 옴
2) refied T: Any -> T타입은 Any타입을 상속 받고, 런타임 시 타입 정보 유지함.
3) clazz: KClass < out T > -> 코틀린 클래스 타입이고, 그 코틀린 클래스는 T를 상속받는 타입임.
4) clazz.java.newInstance() -> clazz를 java클래스의 인스턴스를 만듦

리플렉션을 사용하면 KClass를 인스턴스화 할 수 있다.

profile
데브업 종사자

0개의 댓글

관련 채용 정보