Study
Java

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().

Editor Latihan

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.