reified (1) 썸네일형 리스트형 코틀린(Kotlin) - 런타임에서의 제네릭의 동작 알고 계시겠지만 JVM의 제네릭은 보통 타입 소거(type erasure)를 사용해서 구현됩니다. 타입 소거(type erasure) - 원소 타입을 컴파일 타임에만 검사하고 런타임에는 해당 타입 정보를 알 수 없는 것입니다. - 즉, 컴파일 타임에만 타입에 대한 제약 조건을 적용하고, 런타임에는 타입에 대한 정보를 제거한다는 뜻입니다. 이 말은 런타임에서 제네릭 클래스의 인스턴스에 타입 파라미터 정보가 들어있지 않다는 뜻입니다. 이번에는 코틀린 타입 소거가 어떤 영향을 끼치는지 살펴보고 함수를 inline으로 선언함으로써 이런 제약을 어떻게 우회할 수 있는지 확인하도록 하겠습니다. 먼저 결론부터 말씀드리자면, 함수를 inline으로 만들면 타입 파라미터가 소거되지 않게 할 수 있습니다. 런타임에서의 제.. 이전 1 다음