Interface di Kotlin
Penjelasan
Interface di Kotlin mendefinisikan kumpulan method yang wajib diimplementasikan class yang menerapkannya (lewat :), sama seperti bahasa lain. Bedanya, interface Kotlin BOLEH punya method dengan implementasi default langsung di dalamnya — class yang menerapkan interface itu tidak wajib meng-override method yang sudah punya default, cukup kalau memang ingin perilakunya berbeda.
Contoh Konsep
interface Bentuk {
fun hitungLuas(): Double
fun deskripsi(): String { // implementasi default
return "Bentuk dengan luas ${hitungLuas()}"
}
}
class Lingkaran(val jariJari: Double) : Bentuk {
override fun hitungLuas(): Double {
return 3.14 * jariJari * jariJari
}
// deskripsi() tidak wajib di-override, sudah ada default-nya
}
fun main() {
val lingkaranku = Lingkaran(7.0)
println(lingkaranku.deskripsi())
}
Praktikum
Buat interface Hewan dengan method bersuara(): String. Buat class Kucing yang : Hewan, method bersuara()-nya mengembalikan "Meong". Buat object Kucing di main() dan tampilkan hasil bersuara().
Ketik/edit bebas di sini untuk latihan — kode ini tidak dijalankan.
Tips
Method dengan implementasi default di interface memudahkan menambah fungsi baru ke interface yang sudah dipakai banyak class, TANPA memaksa semua class yang sudah ada meng-implementasikannya ulang — berguna banget untuk menjaga kompatibilitas kode lama.