15.08.2025

15.08.2025

Kotlin

Kotlin

2 min

2 min

Perbedaan antara var, val, dan const val di Kotlin

Perbedaan antara var, val, dan const val di Kotlin

1. var

  • Mutable: Nilainya bisa diubah setelah inisialisasi.

  • Nilai ditentukan saat run-time.

  • Cocok digunakan untuk data yang memang akan sering berubah.

Contoh:

var harga = 100
harga = 150  // ✅ Boleh, karena var mutable

2. val

  • Immutable pada referensi: variabel hanya bisa di-assign sekali dan tidak bisa diarahkan ke objek lain.

  • Bisa mutable jika objek yang direferensikan mutable: isi dari objek tetap bisa diubah (contohnya MutableList, MutableMap, atau class dengan properti var).

  • Nilai ditentukan saat run-time.

  • Setara dengan final di Java.

Contoh immutable referensi:

val nama = "Andi"
// nama = "Budi" // ❌ Error: referensi tidak bisa diubah

Contoh mutable isi objek:

val daftar = mutableListOf("A", "B")
daftar.add("C") // ✅ Boleh, karena isinya mutable
println(daftar) // Output: [A, B, C]

// daftar = mutableListOf("X") // ❌ Error: referensi tidak bisa diubah

3. const val

  • Sama seperti val (immutable), tetapi nilainya harus sudah diketahui saat compile-time.

  • Hanya bisa digunakan untuk tipe primitif (Int, Double, dll) atau String.

  • Tidak bisa berasal dari fungsi atau konstruktor.

  • Deklarasi harus berada di level atas (top-level), atau di dalam object atau companion object.

  • Nilainya akan di-inline oleh compiler, sehingga meningkatkan performa dengan menghindari overhead akses variabel.

Contoh:

const val PI = 3.14

object Config {
    const val VERSION = "1.0.0"
}

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