16.08.2025

16.08.2025

Kotlin

Kotlin

5 min

5 min

Panduan Lengkap: Jenis-Jenis Class di Kotlin yang Wajib Kamu Ketahui

Panduan Lengkap: Jenis-Jenis Class di Kotlin yang Wajib Kamu Ketahui

Kotlin adalah bahasa modern yang kaya fitur, salah satunya pada konsep class. Berbeda dengan Java yang lebih verbose, Kotlin menawarkan berbagai jenis class untuk kebutuhan yang berbeda.

Berikut adalah macam-macam class di Kotlin yang perlu kamu ketahui:

1. Class Biasa (Regular Class)

Ini adalah bentuk dasar class di Kotlin.
Digunakan untuk membuat objek dengan properti dan fungsi.

class User(val nama: String, var umur: Int) {
    fun sapa() {
        println("Halo, nama saya $nama dan umur saya $umur tahun.")
    }
}

val user = User("Andi", 25)
user.sapa()

2. Data Class

Digunakan untuk menyimpan data.
Otomatis menyediakan toString(), equals(), hashCode(), dan copy().

data class Produk(val id: Int, val nama: String)

val p1 = Produk(1, "Laptop")
val p2 = p1.copy(nama = "Tablet")
println(p2) // Produk(id=1, nama=Tablet)

3. Enum Class

Digunakan untuk mendefinisikan kumpulan konstanta.

enum class Hari {
    SENIN, SELASA, RABU, KAMIS, JUMAT, SABTU, MINGGU
}

val hari = Hari.SENIN
println(hari) // SENIN

4. Sealed Class

Digunakan untuk membuat hierarki class yang terbatas.
Cocok untuk representasi state atau result.

sealed class Hasil
data class Sukses(val data: String): Hasil()
data class Error(val pesan: String): Hasil()

fun proses(hasil: Hasil) {
    when(hasil) {
        is Sukses -> println("Data: ${hasil.data}")
        is Error -> println("Error: ${hasil.pesan}")
    }
}

5. Abstract Class

Class yang tidak bisa di-instansiasi, hanya bisa diwariskan.
Biasanya berisi method abstrak yang harus diimplementasikan subclass.

abstract class Hewan {
    abstract fun suara()
}

class Kucing: Hewan() {
    override fun suara() = println("Meong")
}

6. Inner Class & Nested Class

  • Nested Class: class di dalam class lain, tanpa akses ke anggota luar.

  • Inner Class: class di dalam class lain, tetapi bisa mengakses anggota class luar.

class Luar {
    private val pesan = "Dari Luar"

    class Nested {
        fun cetak() = "Dari Nested"
    }

    inner class Inner {
        fun cetak() = "Mengakses $pesan"
    }
}

println(Luar.Nested().cetak()) // Dari Nested
println(Luar().Inner().cetak()) // Mengakses Dari Luar

7. Object Class (Singleton)

Mendefinisikan singleton secara langsung.
Hanya ada satu instance untuk seluruh aplikasi.

object Config {
    const val VERSION = "1.0.0"
    fun tampilkanVersi() = println("Versi: $VERSION")
}

Config.tampilkanVersi()

8. Companion Object

Digunakan untuk membuat anggota statis (mirip static di Java).

class Database {
    companion object {
        fun connect() = println("Terhubung ke database")
    }
}

Database.connect()

9. Anonymous Class / Object Expression

Membuat objek tanpa mendefinisikan class eksplisit.

interface KlikListener {
    fun onClick()
}

val tombol = object : KlikListener {
    override fun onClick() {
        println("Tombol ditekan")
    }
}
tombol.onClick()

Kesimpulan

Kotlin menawarkan berbagai macam class sesuai kebutuhan: mulai dari class sederhana untuk objek biasa, data class untuk menyimpan data, sealed class untuk state handling, hingga object class untuk membuat singleton dengan mudah.

Dengan memahami semua jenis class ini, kamu bisa menulis kode Kotlin yang lebih efektif, rapi, dan sesuai dengan kebutuhan aplikasi yang sedang kamu kembangkan.

Create a free website with Framer, the website builder loved by startups, designers and agencies.