KOTLIN · 기초 문법
어노테이션 프로세싱 (KSP)
Kotlin Symbol Processing(KSP)은 어노테이션 기반 코드 생성을 위한 컴파일러 플러그인입니다. KAPT보다 최대 2배 빠릅니다.
기초 문법중급kspannotation-processingcode-generation
핵심 설명
Kotlin Symbol Processing(KSP)은 어노테이션 기반 코드 생성을 위한 컴파일러 플러그인입니다. KAPT보다 최대 2배 빠릅니다.
Kotlin code
// 커스텀 어노테이션 정의
@Target(AnnotationTarget.CLASS)
@Retention(AnnotationRetention.SOURCE)
annotation class AutoBuilder
// @AutoBuilder 적용
@AutoBuilder
data class UserDto(
val name: String,
val email: String,
val age: Int = 0
)
// KSP가 생성할 빌더 (개념 예시)
// class UserDtoBuilder {
// var name: String = ""
// var email: String = ""
// var age: Int = 0
// fun build() = UserDto(name, email, age)
// }
fun main() {
val user = UserDto(
name = "김철수",
email = "kim@example.com",
age = 30
)
println(user)
}학습 팁
KSP는 KAPT 대비 빌드 속도가 크게 향상됩니다. Room, Moshi 등 주요 라이브러리가 KSP를 지원하므로 마이그레이션을 권장합니다.
주의할 점
KSP는 Java 어노테이션 프로세서와 호환되지 않습니다. Java AP가 필요하면 여전히 KAPT를 사용해야 합니다.
자주 묻는 질문
어노테이션 프로세싱 (KSP)란 무엇인가요?
Kotlin Symbol Processing(KSP)은 어노테이션 기반 코드 생성을 위한 컴파일러 플러그인입니다. KAPT보다 최대 2배 빠릅니다.
어노테이션 프로세싱 (KSP) 학습 시 주의할 점은 무엇인가요?
KSP는 Java 어노테이션 프로세서와 호환되지 않습니다. Java AP가 필요하면 여전히 KAPT를 사용해야 합니다.
Continue Learning
Kotlin 학습을 이어가세요
총 200개의 독립 HTML 학습 문서 중 하나입니다. 각 문서는 고유 URL과 canonical 메타데이터를 가집니다.