Skip to main content

Inheritance

📌 Pengertian Inheritance

Inheritance (Pewarisan) adalah konsep dalam OOP yang memungkinkan sebuah class (child/subclass) mewarisi atribut dan method dari class lain (parent/superclass).

Tujuan:

  • Reusability (menggunakan ulang kode)
  • Mengurangi duplikasi
  • Membentuk hubungan hierarki

🔑 Keyword extends

Keyword extends digunakan untuk membuat subclass dari superclass.

class Hewan {
void makan() {
System.out.println("Hewan makan");
}
}

class Kucing extends Hewan {
void suara() {
System.out.println("Meong");
}
}

🧱 Jenis-jenis Inheritance di Java

🔹 1. Single Inheritance

Satu subclass mewarisi satu superclass.

class Hewan {
void makan() {
System.out.println("Makan");
}
}

class Kucing extends Hewan {
void suara() {
System.out.println("Meong");
}
}

🔹 2. Multilevel Inheritance

Class diturunkan lebih dari satu level.

class Hewan {
void makan() {
System.out.println("Makan");
}
}

class Mamalia extends Hewan {
void bernapas() {
System.out.println("Bernapas");
}
}

class Kucing extends Mamalia {
void suara() {
System.out.println("Meong");
}
}

🔹 3. Hierarchical Inheritance

Satu superclass memiliki banyak subclass.

class Hewan {
void makan() {
System.out.println("Makan");
}
}

class Kucing extends Hewan {
void suara() {
System.out.println("Meong");
}
}

class Anjing extends Hewan {
void suara() {
System.out.println("Guk guk");
}
}

🔁 Method Overriding

Subclass dapat mengganti implementasi method dari superclass.

class Hewan {
void suara() {
System.out.println("Hewan bersuara");
}
}

class Kucing extends Hewan {
@Override
void suara() {
System.out.println("Meong");
}
}

public class Main {
public static void main(String[] args) {
Kucing k = new Kucing();
k.suara();
}
}

📌 Output:

Meong

🔑 Keyword super

Digunakan untuk mengakses method atau constructor dari superclass.

class Hewan {
void makan() {
System.out.println("Hewan makan");
}
}

class Kucing extends Hewan {
void tampil() {
super.makan();
System.out.println("Kucing makan");
}
}

public class Main {
public static void main(String[] args) {
Kucing k = new Kucing();
k.tampil();
}
}

📌 Output:

Hewan makan
Kucing makan

🚀 Keuntungan Penggunaan Inheritance

  • Mengurangi duplikasi kode
  • Meningkatkan reusability
  • Mempermudah maintenance
  • Struktur program lebih rapi
  • Mendukung polymorphism

🎯 Penutup

Inheritance adalah salah satu pilar utama OOP yang memungkinkan kode lebih modular, reusable, dan mudah dikembangkan.