Kotlin reified 키워드 완벽 정리 - 제네릭 타입 안전하게 다루기

✨ 개요

Kotlin에서는 제네릭 타입은 기본적으로 런타임에 소거(type erasure) 됩니다. 하지만 inline 함수와 reified 키워드를 함께 사용하면 제네릭 타입 정보를 런타임에 유지하여, 타입 캐스팅이나 타입 체크가 가능해집니다.


1. 🔧 🔍 기본 문법과 개념

inline fun <reified T> Gson.fromJson(json: String): T =
  this.fromJson(json, T::class.java)

위 예제는 fromJson() 호출 시 T의 타입 정보를 유지하여 자동으로 파싱할 수 있도록 해줍니다.


2. ✅ 활용 사례


3. ⚠️ 주의사항


4. 🧾 결론

reified는 Kotlin 제네릭에서 런타임 타입 정보를 안전하게 활용할 수 있는 강력한 도구입니다. 복잡한 리플렉션이나 타입 캐스팅을 줄이고, 타입 안정성을 높이는 데 효과적입니다. 단, inline과 함께 사용해야 하며, 적절한 위치에서 사용하는 것이 중요합니다.



Related Posts