
Inheritance – Pewarisan Sifat dari Kelas Induk
Salah satu kekuatan utama dalam pemrograman berorientasi objek (OOP) adalah inheritance atau pewarisan. Dengan inheritance, kita bisa membuat class baru yang mewarisi properti dan method dari class yang sudah ada, tanpa harus menulis ulang kode yang sama. Artikel ini akan membahas cara kerja inheritance di Java dan manfaat praktisnya dalam membuat program yang efisien.
1. Apa Itu Inheritance?
Inheritance memungkinkan kita untuk membuat class anak (subclass) yang mewarisi atribut dan method dari class induk (superclass). Konsep ini sangat berguna untuk kode reuse dan menciptakan hierarki objek yang logis.
Contoh sederhana:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
class Kendaraan { String merk; void jalan() { System.out.println(merk + " sedang berjalan"); } } class Mobil extends Kendaraan { int jumlahPintu; } |
Pada contoh di atas, class Mobil
mewarisi semua properti dan method dari Kendaraan
.
2. Kata Kunci extends
Untuk menerapkan inheritance di Java, gunakan kata kunci extends
:
1 2 3 |
class Anak extends Induk |
Artinya, class Anak
adalah subclass yang mewarisi dari Induk
.
3. Menggunakan Method dari Superclass
1 2 3 4 5 6 |
Mobil m1 = new Mobil(); m1.merk = "Toyota"; m1.jumlahPintu = 4; m1.jalan(); // Output: Toyota sedang berjalan |
Walaupun method jalan()
tidak ditulis dalam class Mobil
, objek m1
tetap bisa mengaksesnya karena diwarisi dari Kendaraan
.
4. Keuntungan Inheritance
- Mengurangi duplikasi kode – tidak perlu menulis ulang atribut dan method yang sama
- Meningkatkan keterbacaan – struktur program lebih logis dan konsisten
- Mendukung perluasan fitur – class anak bisa menambahkan fitur baru di atas class induk
5. Override Method
Class anak bisa mengganti (override) method dari class induk dengan menulis ulang method yang sama:
1 2 3 4 5 6 7 8 |
class Mobil extends Kendaraan { @Override void jalan() { System.out.println("Mobil " + merk + " melaju di jalan raya"); } } |
6. Kesimpulan
Inheritance adalah pilar penting dalam OOP yang memungkinkan kita membangun hierarki class dan menghemat banyak waktu dalam penulisan kode. Di artikel berikutnya, kita akan membahas polymorphism, yaitu kemampuan objek untuk merespon secara berbeda tergantung konteksnya.
Ditulis sebagai bagian dari Seri Enam: Pengenalan OOP di Java