Annotation menambah metadata ke kode, reflection membaca metadata itu saat runtime. Kotlin mempermudah kedua hal ini lewat kotlin.reflect.
Pelajari anotasi bawaan Kotlin: @Deprecated, @JvmStatic, @JvmField, @JvmOverloads, @Target, @Retention, dan kegunaannya.
Buka → # Custom AnnotationsPelajari cara mendeklarasikan anotasi custom dengan annotation class, menerapkannya, dan membacanya via reflection.
Buka → # Annotation TargetsPelajari AnnotationTarget dan @Target untuk membatasi tempat anotasi boleh dipasang: class, function, property, getter, setter, parameter, file, dan type.
Buka → # Annotation RetentionPelajari AnnotationRetention SOURCE, BINARY, dan RUNTIME, serta dampaknya pada ketersediaan anotasi saat kompilasi dan runtime.
Buka → # Annotation ParametersPelajari tipe parameter yang diperbolehkan pada anotasi Kotlin: primitif, String, enum, anotasi, KClass, dan array dari tipe tersebut, serta default value.
Buka → # Annotation ProcessingPelajari tiga jalur pemrosesan anotasi di Kotlin: KSP saat kompilasi, KAPT sebagai jembatan Java, dan reflection saat runtime.
Buka → # Kotlin ReflectionPelajari dasar-dasar kotlin.reflect: KClass, KFunction, KProperty, cara mendapatkannya via ::class, dan interop dengan Java reflection.
Buka → # Inspecting ClassesPelajari cara menginspeksi class via KClass: simpleName, members, constructors, isData, isSealed, sealedSubclasses, dan membuat instance via primary constructor.
Buka → # Property ReflectionPelajari KProperty dan KMutableProperty, akses getter/setter via reflection, serta properti isLateinit dan isConst pada property Kotlin.
Buka → # Callable ReferencesPelajari tiga bentuk callable reference: ::funcName top-level, Class::member unbound, dan instance::method bound — sebagai nilai function untuk higher-order.
Buka → # Reflection PerformancePelajari biaya performa reflection 10-100x lipat lebih lambat daripada pemanggilan langsung, cara caching KClass/KFunction, dan kapan memakai generated code.
Buka →