Properti dan metode


1. Apa itu Properti?

Properti adalah bagian dari kelas yang menyimpan data. Di Kotlin, kita mendefinisikan properti dengan menggunakan kata kunci val (immutable) atau var (mutable).

Contoh Properti

class Mobil {
    var merk: String = "Toyota"  // Mutable property
    val tahun: Int = 2020        // Immutable property
}

Mengakses Properti

Anda dapat mengakses properti dengan cara berikut:

fun main() {
    val mobil = Mobil()
    println("Merk: ${mobil.merk}")
    println("Tahun: ${mobil.tahun}")
}

2. Apa itu Metode?

Metode adalah fungsi yang didefinisikan di dalam kelas. Metode digunakan untuk melakukan operasi di data dalam kelas.

Contoh Metode

class Mobil {
    var merk: String = "Toyota"

    fun menyalakanMesin() {
        println("$merk sedang dinyalakan.")
    }
}

Memanggil Metode

Anda dapat memanggil metode dengan cara berikut:

fun main() {
    val mobil = Mobil()
    mobil.menyalakanMesin()
}

3. Kombinasi Properti dan Metode

Anda juga dapat menggunakan properti di dalam metode. Berikut adalah contoh lengkapnya:

class Mobil(var merk: String, val tahun: Int) {
    fun informasi() {
        println("Merk: $merk, Tahun: $tahun")
    }
}

fun main() {
    val mobil = Mobil("Honda", 2021)
    mobil.informasi()
}

4. Getter dan Setter Kustom

Kotlin memungkinkan Anda untuk membuat getter dan setter kustom untuk properti.

Contoh Getter dan Setter Kustom

class Mobil(var merk: String) {
    var tahun: Int = 0
        get() = field  // Getter
        set(value) {   // Setter
            if (value > 1885) field = value  // Pastikan tahun lebih dari 1885
            else println("Tahun tidak valid!")
        }
}

fun main() {
    val mobil = Mobil("BMW")
    mobil.tahun = 2022  // Menggunakan setter
    println(mobil.tahun) // Menggunakan getter
}

Kesimpulan

Dalam tutorial ini, kita telah membahas tentang properti dan metode di Kotlin. Anda belajar bagaimana mendefinisikan dan mengakses properti, membuat metode, serta menggunakan getter dan setter kustom. Dengan pemahaman ini, Anda dapat mulai mengembangkan kelas-kelas Kotlin yang lebih kompleks.