Abstract Class Java : Pengertian, dan Contoh
Dalam pemrograman Java, abstract class merupakan salah satu fitur yang digunakan untuk mewujudkan konsep pemrograman berorientasi objek.
Abstract class memungkinkan programmer untuk membuat kerangka kerja dasar yang dapat digunakan untuk membuat objek kelas turunan. Dalam artikel ini, kita akan membahas secara rinci tentang pengertian abstract class Java dan contoh penggunaannya.
Pengertian Abstract Class Java
Abstract class merupakan kelas yang tidak dapat diinstansiasi atau dibuat objeknya secara langsung. Abstract class digunakan sebagai kerangka kerja dasar yang dapat digunakan untuk membuat kelas turunan atau subclass. Abstract class sendiri tidak dapat digunakan untuk membuat objek, namun hanya berfungsi sebagai kerangka kerja atau blueprint untuk kelas turunan yang diturunkan darinya.
Contoh Penggunaan Abstract Class Java
Untuk lebih memahami tentang penggunaan abstract class Java, mari kita lihat contoh sederhana di bawah ini:
abstract class Hewan {
protected String nama;
public Hewan(String nama) {
this.nama = nama;
}
public abstract void suara();
}
class Kucing extends Hewan {
public Kucing(String nama) {
super(nama);
}
public void suara() {
System.out.println("Meow");
}
}
class Anjing extends Hewan {
public Anjing(String nama) {
super(nama);
}
public void suara() {
System.out.println("Guk guk");
}
}
public class Main {
public static void main(String[] args) {
Hewan kucing = new Kucing("Kucing");
Hewan anjing = new Anjing("Anjing");
kucing.suara();
anjing.suara();
}
}
Pada contoh di atas, kita membuat abstract class Hewan yang memiliki satu atribut nama dan satu method abstract suara(). Kemudian kita membuat dua kelas turunan yaitu Kucing dan Anjing yang masing-masing mengimplementasikan method suara() sesuai dengan karakteristik suara dari kucing dan anjing.
Di dalam class Main, kita membuat objek kucing dan anjing dari kelas turunan Kucing dan Anjing. Karena kedua kelas tersebut diturunkan dari abstract class Hewan, maka objek kucing dan anjing dapat diberikan sebagai parameter untuk method yang menerima parameter bertipe Hewan.
Ketika kita menjalankan program di atas, maka akan menghasilkan output sebagai berikut:
Meow
Guk guk
Keuntungan Menggunakan Abstract Class Java
Terdapat beberapa keuntungan yang dapat kita peroleh dengan menggunakan abstract class dalam pemrograman Java, di antaranya adalah:
-
Meningkatkan kualitas kode Dengan menggunakan abstract class, programmer dapat mengimplementasikan method atau fungsi yang sama di dalam abstract class dan diwariskan ke kelas turunan. Hal ini dapat meningkat
-
Mempercepat proses pengembangan software Dengan menggunakan abstract class, programmer dapat membuat kerangka kerja dasar yang dapat digunakan untuk membuat kelas turunan. Hal ini dapat mempercepat proses pengembangan software karena programmer tidak perlu membuat kembali kerangka kerja dasar yang sama untuk setiap kelas turunan yang dibuat. kan kualitas kode karena method atau fungsi yang sama tidak perlu ditulis ulang di setiap kelas turunan yang dibuat.
-
Mempermudah pemeliharaan kode Dengan menggunakan abstract class, pemeliharaan kode dapat dilakukan dengan lebih mudah. Jika terdapat kesalahan atau bug pada method atau fungsi di dalam abstract class, maka perbaikan hanya perlu dilakukan pada satu tempat saja. Perubahan yang dilakukan di dalam abstract class juga akan berdampak pada semua kelas turunan yang diturunkan darinya.
Kesimpulan
Abstract class merupakan salah satu fitur penting dalam pemrograman Java yang memungkinkan programmer untuk membuat kerangka kerja dasar yang dapat digunakan untuk membuat kelas turunan. Abstract class tidak dapat diinstansiasi atau dibuat objeknya secara langsung, namun hanya berfungsi sebagai kerangka kerja atau blueprint untuk kelas turunan yang diturunkan darinya.
Dalam penggunaannya, abstract class dapat mempercepat proses pengembangan software, meningkatkan kualitas kode, dan mempermudah pemeliharaan kode. Contoh penggunaan abstract class yang telah kita bahas di atas semoga dapat membantu anda dalam memahami penggunaan abstract class dalam pemrograman Java.