Memahami Konsep Inheritance Di Java

Diposting oleh Chandra pada Android

Java adalah salah satu bahasa pemrograman yang paling populer dewasa ini. Salah satu fitur yang membuat Java menjadi begitu populer adalah konsep OOP (Object-Oriented Programming) yang memungkinkan kita untuk membuat program yang lebih terstruktur dan mudah dipahami. Salah satu konsep OOP yang penting di Java adalah Inheritance.

Pada artikel ini, kita akan membahas tentang konsep Inheritance di Java, bagaimana cara menggunakannya, dan contoh-contoh yang dapat membantu kita memahami konsep ini lebih baik.

Apa itu Inheritance?

Inheritance adalah proses di mana suatu kelas dapat mewarisi sifat-sifat dan perilaku dari kelas lain. Dalam Java, kita dapat membuat kelas turunan yang mewarisi sifat-sifat dan perilaku dari kelas induk. Kelas induk disebut sebagai superclass, sedangkan kelas turunan disebut sebagai subclass.

Bagaimana Cara Menggunakan Inheritance di Java?

Untuk menggunakan Inheritance di Java, kita harus membuat kelas superclass dan kelas subclass. Kelas superclass harus didefinisikan terlebih dahulu, lalu kelas subclass dapat mewarisi sifat-sifat dan perilaku dari kelas superclass.

Berikut adalah contoh cara menggunakan Inheritance di Java:

// Kelas Superclass
public class Hewan 
    private String nama;Memahami Konsep Inheritance di Java

    public Hewan(String nama) 
        this.nama = nama;
    
Memahami Konsep Inheritance di Java
    public void makan() 
        System.out.println(nama + " sedang makan");
    

Memahami Konsep Inheritance di Java
// Kelas Subclass
public class Kucing extends Hewan 
    public Kucing(String nama) 
        super(nama);
    

    public voidtidur() 
        System.out.println(getNama() + " sedang tidur");
    

    public String getNama() 
        return nama;
    

Pada contoh di atas, kita membuat kelas Hewan sebagai superclass dan kelas Kucing sebagai subclass. Kelas Kucing mewarisi sifat-sifat dan perilaku dari kelas Hewan, seperti metode makan(). Selain itu, kelas Kucing juga memiliki metode tidur() yang khusus untuk kelas Kucing.

Cara Mengakses Metode dan Variabel pada Kelas Superclass

Pada contoh sebelumnya, kita dapat melihat bahwa kelas Kucing dapat mengakses metode makan() pada kelas Hewan secara langsung. Namun, bagaimana jika kita ingin mengakses variabel pada kelas Hewan? Kita dapat menggunakan kata kunci super untuk mengakses variabel dan metode pada kelas superclass.

Berikut adalah contoh cara mengakses variabel pada kelas superclass:

// Kelas Superclass
public class Hewan 
    private String nama;

    public Hewan(String nama) 
        this.nama = nama;
    

    public void makan() 
        System.out.println(nama + " sedang makan");
    

    public String getNama() 
        return nama;
    


// Kelas Subclass
public class Kucing extends Hewan 
    public Kucing(String nama) 
        super(nama);
    

    public void tidur() 
        System.out.println(super.getNama() + " sedang tidur");
    

Pada contoh di atas, kita dapat melihat bahwa kelas Kucing dapat mengakses variabel nama pada kelas Hewan menggunakan metode getNama() dan kata kunci super.

Cara Mengoverride Metode pada Kelas Superclass

Pada contoh sebelumnya, kita dapat melihat bahwa kelas Kucing dapat mewarisi metode makan() pada kelas Hewan. Namun, bagaimana jika kita ingin mengubah perilaku metode makan() pada kelas Kucing? Kita dapat menggunakan teknik overriding untuk mengubah perilaku metode pada kelas superclass.

Berikut adalah contoh cara mengoverride metode pada kelas superclass:

// Kelas Superclass
public class Hewan 
    private String nama;

    public Hewan(String nama) 
        this.nama = nama;
    

    public void makan() 
        System.out.println(nama + " sedang makan");
    


// Kelas Subclass
public class Kucing extends Hewan 
    public Kucing(String nama) 
        super(nama);
    

    public void makan() 
        System.out.println("Kucing sedang makan ikan");
    

Pada contoh di atas, kita dapat melihat bahwa kelas Kucing dapat mengoverride metode makan() pada kelas Hewan dengan perilaku yang berbeda.

Cara Menggunakan Abstrak Kelas dan Abstrak Metode

Pada contoh sebelumnya, kita dapat melihat bahwa kelas Hewan dapat memiliki metode makan() yang dapat diakses oleh kelas Kucing. Namun, bagaimana jika kita ingin membuat kelas Hewan menjadi abstrak, sehingga tidak dapat dibuat instance secara langsung? Kita dapat menggunakan abstrak kelas dan abstrak metode untuk mencapai hal ini.

Berikut adalah contoh cara menggunakan abstrak kelas dan abstrak metode:

// Kelas Abstrak
public abstract class Hewan 
    private String nama;

    public Hewan(String nama) 
        this.nama = nama;
    

    public abstract void makan();


// Kelas Subclass
public class Kucing extends Hewan 
    public Kucing(String nama) 
        super(nama);
    

    public void makan() 
        System.out.println("Kucing sedang makan ikan");
    

Pada contoh di atas, kita dapat melihat bahwa kelas Hewan didefinisikan sebagai abstrak kelas dengan metode abstrak makan(). Kelas Kucing dapat mewarisi kelas Hewan dan mengimplementasikan metode abstrak makan().

Kesimpulan

Inheritance adalah konsep OOP yang memungkinkan kita untuk membuat kelas turunan yang mewarisi sifat-sifat dan perilaku dari kelas induk. Dalam Java, kita dapat menggunakan kata kunci extends untuk membuat kelas turunan dan super untuk mengakses variabel dan metode pada kelas superclass. Kita juga dapat menggunakan teknik overriding untuk mengubah perilaku metode pada kelas superclass. Selain itu, kita dapat menggunakan abstrak kelas dan abstrak metode untuk membuat kelas yang tidak dapat dibuat instance secara langsung dan harus diimplementasikan oleh kelas turunan.

Memahami Konsep Inheritance di Java

Video mengenai Memahami Konsep Inheritance di Java