개발새발/코틀린
[코틀린/Kotlin] qualifiedName
by 조희우
2025. 9. 6.
qualifiedName
- Kotlin 리플렉션(reflection)에서 클래스의 전체 이름
val clazz = String::class
println(clazz.qualifiedName) // 출력: kotlin.String
개념
- qualifiedName
- 패키지 이름 + 클래스 이름
- E.g.) com.example.MyClass
- simpleName
val clazz = MyClass:class
println(clazz.qualifiedName) // 예: com.example.MyClass
println(clazz.simpleName) // 예: MyClass
사용 예시
- 로깅/디버깅 시 클래스 전체 경로 사용
- 직렬화/역직렬화(Serialization)시 클래스 이름 저장
- DI(의존성 주입)에서 클래스 키로 식별
주의
- 익명 클래스, 로컬 클래스는 이름이 명확하지 않아서 null로 출력될 수 있음
- JVM 바이트코드 상에서는 자동 생성된 내부 클래스 이름을 갖지만, Kotlin 리플렉션에서는 null로 표기