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를 인스턴스화 할 수 있다.