KOTLIN · 기초 문법
어노테이션 (Annotations)
Kotlin 어노테이션은 메타데이터를 코드에 첨부합니다. 커스텀 어노테이션을 정의하고 리플렉션으로 읽을 수 있습니다.
기초 문법중급annotationreflectionmetadatajvm
핵심 설명
Kotlin 어노테이션은 메타데이터를 코드에 첨부합니다. 커스텀 어노테이션을 정의하고 리플렉션으로 읽을 수 있습니다.
Kotlin code
@Target(AnnotationTarget.FUNCTION)
@Retention(AnnotationRetention.RUNTIME)
annotation class Logged(val tag: String = "DEFAULT")
@Logged(tag = "SERVICE")
fun processOrder(id: Int): String {
return "주문 $id 처리 완료"
}
fun main() {
val func = ::processOrder
val annotation = func.annotations
.filterIsInstance<Logged>()
.firstOrNull()
annotation?.let {
println("태그: ${it.tag}")
}
// @JvmStatic, @JvmOverloads 등 Java 연동
println(processOrder(42))
}학습 팁
@JvmStatic, @JvmOverloads, @JvmField는 Java 코드와의 상호운용성을 높이는 핵심 어노테이션입니다.
주의할 점
AnnotationRetention.SOURCE로 지정하면 런타임에 리플렉션으로 읽을 수 없습니다. 런타임 접근이 필요하면 RUNTIME을 사용하세요.
자주 묻는 질문
어노테이션 (Annotations)란 무엇인가요?
Kotlin 어노테이션은 메타데이터를 코드에 첨부합니다. 커스텀 어노테이션을 정의하고 리플렉션으로 읽을 수 있습니다.
어노테이션 (Annotations) 학습 시 주의할 점은 무엇인가요?
AnnotationRetention.SOURCE 로 지정하면 런타임에 리플렉션으로 읽을 수 없습니다. 런타임 접근이 필요하면 RUNTIME 을 사용하세요.
Continue Learning
Kotlin 학습을 이어가세요
총 200개의 독립 HTML 학습 문서 중 하나입니다. 각 문서는 고유 URL과 canonical 메타데이터를 가집니다.