Interface & Abstract Class di Java
Penjelasan
Interface mendefinisikan kumpulan method yang WAJIB diimplementasikan oleh class yang menerapkannya (implements), tanpa isi logika di interface itu sendiri — cocok untuk memastikan beberapa class punya "kontrak" perilaku yang sama. Abstract class mirip, tapi bisa punya method dengan isi logika sekaligus method abstrak yang wajib dilengkapi oleh class turunannya (extends).
Contoh Konsep
interface Bentuk {
double hitungLuas();
}
class Lingkaran implements Bentuk {
double jariJari;
Lingkaran(double jariJari) {
this.jariJari = jariJari;
}
public double hitungLuas() {
return 3.14 * jariJari * jariJari;
}
}
// Lingkaran lingkaranku = new Lingkaran(7);
// System.out.println(lingkaranku.hitungLuas());
Praktikum
Buat interface Hewan dengan method bersuara(). Buat class Kucing yang implements 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
Pilih interface kalau class-class yang berbeda hanya perlu berbagi "kontrak" method tanpa logika bersama; pilih abstract class kalau class-class turunan memang perlu berbagi sebagian logika/field yang sama.