본문 바로가기
개발새발/코틀린

[코틀린/Kotlin] qualifiedName

by 조희우 2025. 9. 6.

qualifiedName

  • Kotlin 리플렉션(reflection)에서 클래스의 전체 이름
    • 패키지 + 클래스 이름
val clazz = String::class
println(clazz.qualifiedName) // 출력: kotlin.String

개념

  1. qualifiedName
    • 패키지 이름 + 클래스 이름
    • E.g.) com.example.MyClass
  2. simpleName
    • 클래스 이름
    • E.g.) MyClass
val clazz = MyClass:class

println(clazz.qualifiedName) // 예: com.example.MyClass
println(clazz.simpleName) // 예: MyClass

사용 예시

  • 로깅/디버깅 시 클래스 전체 경로 사용
  • 직렬화/역직렬화(Serialization)시 클래스 이름 저장
  • DI(의존성 주입)에서 클래스 키로 식별

주의

  • 익명 클래스, 로컬 클래스는 이름이 명확하지 않아서 null로 출력될 수 있음
  • JVM 바이트코드 상에서는 자동 생성된 내부 클래스 이름을 갖지만, Kotlin 리플렉션에서는 null로 표기