OOP pada Kotlin memadukan kejelasan class Java dengan banyak penyederhanaan: primary constructor, data class, sealed class, dan object declaration.
Pelajari empat pilar object-oriented programming — encapsulation, inheritance, polymorphism, dan abstraction — serta pergeseran pola pikir dari gaya prosedural ke gaya berorientasi object.
Buka → # Class dan ObjectPelajari cara mendeklarasikan class, membuat object, dan menyusun anggota class seperti property, method, serta constructor pada Kotlin.
Buka → # PropertiesPelajari cara mendeklarasikan property var dan val, menulis custom getter/setter dengan backing field, serta menggunakan lateinit untuk property non-null yang diinisialisasi nanti.
Buka → # Primary ConstructorPelajari primary constructor Kotlin, cara mendeklarasikan property langsung di daftar parameter, dan mengeksekusi inisialisasi melalui property initializer serta init block.
Buka → # Secondary ConstructorsPelajari cara mendeklarasikan secondary constructor dengan keyword constructor, mendelegasikan ke primary constructor, dan menyediakan beberapa jalur pembuatan object.
Buka → # init BlocksPelajari cara kerja init block Kotlin, urutan eksekusi terhadap property initializer, multiple init block, dan penggunaannya untuk validasi constructor.
Buka → # Property AccessorsPelajari cara menulis custom getter dan setter pada property Kotlin, mendefinisikan computed property tanpa backing field, serta menggabungkan keduanya untuk kontrol akses yang fleksibel.
Buka → # Backing FieldsPelajari backing field pada property Kotlin, keyword `field` yang hanya tersedia di custom accessor, serta cara menghindari setter rekursif.
Buka → # Visibility ModifiersPelajari empat visibility modifier Kotlin — public, private, protected, internal — beserta perbedaannya pada anggota class dan deklarasi top-level.
Buka → # EncapsulationPelajari encapsulation Kotlin — menyembunyikan data internal dengan private, menyajikan akses melalui method publik tervalidasi, dan memakai property sebagai alat bantu encapsulation.
Buka → # InheritancePelajari cara membuat subclass dengan tanda titik dua, menandai superclass dengan open, menulis ulang method dengan override, dan memanfaatkan polymorphism melalui referensi superclass.
Buka → # open Classes dan MethodsPelajari mengapa class dan method Kotlin bersifat final secara default, cara membukanya dengan open, dan kapan menggunakan final override untuk menghentikan rantai override lebih lanjut.
Buka → # Overriding Properties dan MethodsPelajari cara meng-override property dan method pada subclass Kotlin, aturan val menjadi var, serta bagaimana property override ikut polymorphism.
Buka → # Abstract ClassesPelajari cara mendeklarasikan abstract class Kotlin, abstract property dan method, dan kontrak yang memaksa subclass menyediakan implementasi tertentu.
Buka → # InterfacesPelajari cara mendeklarasikan interface Kotlin, method default, property abstrak, dan implementasi multiple interface sekaligus dalam satu class.
Buka → # Interface DelegationMendelegasikan implementasi interface ke object lain dengan keyword `by` agar class dapat menggunakan ulang kode tanpa inheritance.
Buka → # Nested ClassesMendeklarasikan class di dalam class lain tanpa keyword `inner` — class bersarang statis yang tidak mengakses instance outer class.
Buka → # Inner ClassesMendeklarasikan inner class dengan keyword `inner` yang membawa referensi ke instance outer class dan dapat mengakses anggotanya.
Buka → # object DeclarationsMendeklarasikan singleton dengan keyword `object` — instance tunggal yang diinisialisasi secara lazy saat akses pertama.
Buka → # companion ObjectsMendeklarasikan companion object di dalam class untuk menyediakan anggota statis, konstanta, factory method, dan pola desain berbasis class.
Buka → # Anonymous ObjectsMembuat instance object tanpa nama dengan `object : Type { ... }` — implementasi ad-hoc dari interface atau abstract class.
Buka → # data classMendeklarasikan data class Kotlin yang otomatis menghasilkan method equals, hashCode, toString, copy, dan componentN untuk destrukturisasi.
Buka → # enum classMendeklarasikan enum class Kotlin dengan konstanta, property, constructor, method, dan implementasi interface untuk merepresentasikan nilai konstan bertipe aman.
Buka → # sealed classMendeklarasikan sealed class Kotlin — hierarki terbatas yang membuat kompilator mengetahui seluruh subtype dan memaksa when yang exhaustive.
Buka → # sealed interfaceMendeklarasikan sealed interface Kotlin — interface dengan daftar implementor terbatas yang dapat dikombinasikan dengan sealed class untuk hierarki bertingkat.
Buka → # value classMendeklarasikan @JvmInline value class Kotlin — wrapper yang diinline pada saat kompilasi sehingga tidak menambah overhead alokasi memori.
Buka → # DelegationPola delegation di Kotlin — composition over inheritance — baik secara manual maupun via keyword `by` untuk meneruskan pemanggilan method ke object lain.
Buka → # Equality dan IdentityMembedakan operator `==` (structural equals) dan `===` (referential identity) di Kotlin serta cara mengoverride method `equals` dan `hashCode`.
Buka → # copy dan component FunctionsMemakai method copy dan componentN yang dihasilkan otomatis oleh data class untuk membuat salinan dan destrukturisasi instance.
Buka → # OOP Design PrinciplesPanduan desain berorientasi object di Kotlin — SOLID, composition over inheritance, program to interface, dan idiom Kotlin seperti data class, sealed, dan value class.
Buka →