Belajar OOP Bahasa Pemrogaman Java #25 | Pengertian Abstract Class
Achmad Yoga Bactiar Teguh Suseno
10 Mei 2023
Abstract class (kelas abstrak) adalah salah satu konsep yang kuat dalam pemrograman berorientasi objek (OOP) yang digunakan dalam bahasa pemrograman Java. Abstract class digunakan sebagai kerangka dasar untuk kelas-kelas turunan, dan mereka tidak dapat diinstansiasi sendiri. Dalam artikel ini, kita akan membahas pengertian dan konsep abstract class dalam Java, serta memberikan contoh penggunaan dan outputnya.
Abstract class adalah kelas yang tidak dapat diinstansiasi (tidak dapat membuat objek dari kelas tersebut) dan sering digunakan sebagai kelas dasar (superclass) untuk satu atau lebih kelas turunan (subclass). Abstract class dapat memiliki metode yang memiliki implementasi, serta metode yang dideklarasikan tetapi tidak memiliki implementasi. Metode-metode tersebut harus diimplementasikan oleh kelas-kelas turunan.
Konsep abstract class dalam Java dapat diilustrasikan dengan beberapa poin penting:
Tidak Dapat Diinstansiasi: Abstract class tidak dapat diinstansiasi, artinya Anda tidak dapat membuat objek langsung dari abstract class tersebut. Ini karena abstract class adalah kerangka kerja yang umum untuk kelas turunan.
Metode Abstract: Abstract class dapat memiliki metode yang dideklarasikan (tanpa implementasi). Metode-metode tersebut harus diimplementasikan oleh kelas-kelas turunan. Metode abstract dideklarasikan dengan kata kunci abstract
.
Metode Biasa: Abstract class juga dapat memiliki metode biasa dengan implementasi. Ini berarti abstract class dapat memiliki metode yang dapat digunakan langsung oleh kelas-kelas turunannya.
Inheritance: Abstract class digunakan sebagai kelas dasar untuk kelas-kelas turunan. Setiap kelas turunan harus mengimplementasikan semua metode abstract yang dideklarasikan dalam abstract class.
Berikut adalah contoh sederhana penggunaan abstract class dalam Java:
// Abstract class
abstract class Shape {
// Metode abstract (tanpa implementasi)
abstract double calculateArea();
// Metode biasa dengan implementasi
void display() {
System.out.println("Ini adalah bentuk.");
}
}
// Kelas turunan pertama
class Circle extends Shape {
double radius;
Circle(double radius) {
this.radius = radius;
}
// Implementasi metode abstract
double calculateArea() {
return Math.PI * radius * radius;
}
}
// Kelas turunan kedua
class Rectangle extends Shape {
double length;
double width;
Rectangle(double length, double width) {
this.length = length;
this.width = width;
}
// Implementasi metode abstract
double calculateArea() {
return length * width;
}
}
public class Main {
public static void main(String[] args) {
// Membuat objek dari kelas turunan
Circle circle = new Circle(5);
Rectangle rectangle = new Rectangle(4, 6);
// Memanggil metode
circle.display();
System.out.println("Luas Lingkaran: " + circle.calculateArea());
rectangle.display();
System.out.println("Luas Persegi Panjang: " + rectangle.calculateArea());
}
}
Dalam contoh di atas, kita memiliki abstract class Shape
yang memiliki metode abstract calculateArea()
dan metode biasa display()
. Kemudian, kita memiliki dua kelas turunan, yaitu Circle
dan Rectangle
, yang mengimplementasikan metode calculateArea()
sesuai dengan jenis bentuk yang mereka wakili.
Kita juga membuat objek dari kelas turunan (Circle
dan Rectangle
) dan memanggil metode display()
dan calculateArea()
.
Ini adalah bentuk.
Luas Lingkaran: 78.53981633974483
Ini adalah bentuk.
Luas Persegi Panjang: 24.0
Output di atas menunjukkan bahwa kita berhasil menggunakan abstract class Shape
sebagai kerangka kerja untuk kelas-kelas turunan Circle
dan Rectangle
, dan metode abstract calculateArea()
diimplementasikan sesuai dengan jenis bentuk yang bersangkutan. Dengan ini, kita dapat memanfaatkan konsep pewarisan dan polymorphism untuk memodelkan hierarki kelas yang lebih kompleks dalam aplikasi Java.
Artikel Lainnya Dengan Kategori Terkait :
1. Belajar Bahasa Pemrogaman Java #01 | Apa Itu Java dan Sejarah Singkatnya
2. Belajar Bahasa Pemrogaman Java #02 | Pengertian dan Keunggulan Java
3. Belajar Bahasa Pemrogaman Java #03 | Pengertian JVM (Java Virtual Machine) dan fungsinya
4. Belajar Bahasa Pemrogaman Java #04 | Pengertian JRE dan JDK
5. Belajar Bahasa Pemrogaman Java #05 | Cara Menginstall Java JDK (Java Development Kit)
6. Belajar Bahasa Pemrogaman Java #06 | Mengatur Setting Path untuk Java JDK
7. Belajar Bahasa Pemrogaman Java #07 | Cara Menjalankan kode Program Java
8. Belajar Bahasa Pemrogaman Java #08 | Melihat Pesan Error Kode Program Java
9. Belajar Bahasa Pemrogaman Java #09 | Cara Menjalankan Java dari Notepad++
10. Belajar Bahasa Pemrogaman Java #10 | Struktur Dasar Kode Program Bahasa Pemrograman Java
11. Belajar Bahasa Pemrogaman Java #11 | Aturan Dasar Penulisan Kode Java
12. Belajar Bahasa Pemrogaman Java #12 | Pengertian dan Cara Penulisan Variabel Bahasa Java
13. Belajar Bahasa Pemrogaman Java #13 | Pengertian dan Cara Pembuatan Konstanta Bahasa Java
14. Belajar Bahasa Pemrogaman Java #14 | Cara Menampilkan Teks di Bahasa Java
15. Belajar Bahasa Pemrogaman Java #15 | Jenis-Jenis Tipe Data dalam Bahasa Java
16. Belajar Bahasa Pemrogaman Java #16 | Tipe Data Integer Bahasa Pemrograman Java
17. Belajar Bahasa Pemrogaman Java #17 | Tipe Data Float dan Double Bahasa Pemrograman Java
18. Belajar Bahasa Pemrogaman Java #18 | Tipe Data Boolean Bahasa Pemrograman Java
19. Belajar Bahasa Pemrogaman Java #19 | Tipe Data Char Bahasa Pemrograman Java
20. Belajar Bahasa Pemrogaman Java #20 | Tipe Data String Bahasa Pemrograman Java
21. Belajar Bahasa Pemrogaman Java #21 | Tipe Data Array
22. Belajar Bahasa Pemrogaman Java #22 | Jenis-jenis Operator
23. Belajar Bahasa Pemrogaman Java #23 | Jenis-jenis Operator Aritmatika
24. Belajar Bahasa Pemrogaman Java #24 | Cara Menampilkan Teks
25. Belajar Bahasa Pemrogaman Java #25 | Jenis-jenis Operator Perbandingan / Relasional
26. Belajar Bahasa Pemrogaman Java #26 | Jenis-jenis Operator Logika
27. Belajar Bahasa Pemrogaman Java #27 | Jenis-jenis Operator Bitwise
28. Belajar Bahasa Pemrogaman Java #28 | Jenis-jenis Operator Assignment
29. Belajar Bahasa Pemrogaman Java #29 | Tipe Percabangan Kondisi IF
30. Belajar Bahasa Pemrogaman Java #30 | Percabangan Kondisi IF ELSE
31. Belajar Bahasa Pemrogaman Java #31 | Percabangan Kondisi IF ELSE IF
32. Belajar Bahasa Pemrogaman Java #32 | Percabangan Kondisi Switch Case Bahasa Java
33. Belajar Bahasa Pemrogaman Java #33 | Perulangan FOR Bahasa Java
34. Belajar Bahasa Pemrogaman Java #34 | Perulangan WHILE Bahasa Java
35. Belajar Bahasa Pemrogaman Java #35 | Perulangan DO WHILE Bahasa Java
36. Belajar Bahasa Pemrogaman Java #36 | Fungsi dan Pengertian Perintah BREAK
37. Belajar Bahasa Pemrogaman Java #37 | Fungsi dan Pengertian Perintah CONTINUE
38. Belajar Bahasa Pemrogaman Java #38 | Jenis-jenis Operator Assignment
39. Belajar Bahasa Pemrogaman Java #39 | Pengertian Function (Fungsi) Bahasa Java
40. Belajar Bahasa Pemrogaman Java #40 | Pengertian Parameter dan Argumen Fungsi Java
41. Belajar Bahasa Pemrogaman Java #41 | Fungsi Perintah Return dalam Function
42. Belajar Bahasa Pemrogaman Java #42 | Pengertian Variable Scope
43. Belajar OOP Bahasa Pemrogaman Java #01 | Pengertian Pemrograman Berorientasi Objek
44. Belajar OOP Bahasa Pemrogaman Java #02 | Pengertian Class, Object, Property dan Method
45. Belajar OOP Bahasa Pemrogaman Java #03 | Cara Membuat Class dan Object
46. Belajar OOP Bahasa Pemrogaman Java #04 | Istilah Property
47. Belajar OOP Bahasa Pemrogaman Java #05 | Cara Membuat Method Bahasa Java
48. Belajar OOP Bahasa Pemrogaman Java #06 | Pengertian Constructor
49. Belajar OOP Bahasa Pemrogaman Java #07 | Cara Membuat Pewarisan Class (Inheritance)
50. Belajar OOP Bahasa Pemrogaman Java #08 | Cara Membuat Multiple Inheritance
51. Belajar OOP Bahasa Pemrogaman Java #09 | Pengertian Method Overidding
52. Belajar OOP Bahasa Pemrogaman Java #10 | Pengertian Method Overloading
53. Belajar OOP Bahasa Pemrogaman Java #11 | Pengertian dan Fungsi Perintah super
54. Belajar OOP Bahasa Pemrogaman Java #12 | Pengertian dan Fungsi Perintah this
55. Belajar OOP Bahasa Pemrogaman Java #13 | Pengertian dan Fungsi Perintah static
56. Belajar OOP Bahasa Pemrogaman Java #14 | Pengertian dan Fungsi Perintah Final
57. Belajar OOP Bahasa Pemrogaman Java #15 | Cara Membuat Package dan Proses Import
58. Belajar OOP Bahasa Pemrogaman Java #16 | Cara Mengakses Class Pada Package Yang Sama
59. Belajar OOP Bahasa Pemrogaman Java #17 | Memahami Batasan Hak Akses (access modifier)
60. Belajar OOP Bahasa Pemrogaman Java #18 | Batasan Hak Akses Private
61. Belajar OOP Bahasa Pemrogaman Java #19 | Batasan Hak Akses Public
62. Belajar OOP Bahasa Pemrogaman Java #20 | Batasan Hak Akses Default
63. Belajar OOP Bahasa Pemrogaman Java #21 | Batasan Hak Akses Protected
64. Belajar OOP Bahasa Pemrogaman Java #22 | Membuat Setter dan Getter
65. Belajar OOP Bahasa Pemrogaman Java #23 | Pengertian Encapsulation Java
66. Belajar OOP Bahasa Pemrogaman Java #24 | Pengertian Polymorphism Java
67. Belajar OOP Bahasa Pemrogaman Java #25 | Pengertian Abstract Class
68. Belajar OOP Bahasa Pemrogaman Java #26 | Pengertian Interface Class
69. Latihan Kode Bahasa Pemrogaman Java #27 | Pola Persegi Bintang
70. Latihan Kode Bahasa Pemrogaman Java #28 | Pola Persegi Panjang Bintang
71. Latihan Kode Bahasa Pemrogaman Java #29 | Pola Segitiga
72. Latihan Kode Bahasa Pemrogaman Java #30 | Menghitung Luas Lingkaran
73. Latihan Kode Bahasa Pemrogaman Java #31 | Menghitung Luas Belah Ketupat
74. Latihan Kode Bahasa Pemrogaman Java #32 | Konversi Suhu Celcius
75. Latihan Kode Bahasa Pemrogaman Java #33 | Konversi Desimal ke Biner
76. Latihan Kode Bahasa Pemrogaman Java #34 | Konversi Biner ke Desimal
77. Latihan Kode Bahasa Pemrogaman Java #35 | Cek Bilangan Prima
78. Latihan Kode Bahasa Pemrogaman Java #36 | Mencari Akar Persamaan Kuadrat
79. Latihan Kode Bahasa Pemrogaman Java #37 | Menghitung Gaji Karyawan
80. Latihan Kode Bahasa Pemrogaman Java #38 | Membuat Menu Berulang
81. Latihan Kode Bahasa Pemrogaman Java #39 | Menampilkan Biodata Mahasiswa
82. Latihan Kode Bahasa Pemrogaman Java #40 | Menghitung Diskon Potongan Harga
83. Latihan Kode Bahasa Pemrogaman Java #41 | Cek Tahun Kabisat
84. Latihan Kode Bahasa Pemrogaman Java #42 | Menentukan Nama Hari
85. Latihan Kode Bahasa Pemrogaman Java #43 | Menentukan Nama Bulan
86. Latihan Kode Bahasa Pemrogaman Java #44 | Menghitung Jumlah Huruf Vokal
87. Latihan Kode Bahasa Pemrogaman Java #45 | Penjumlahan Array
88. Latihan Kode Bahasa Pemrogaman Java #46 | Pencarian Data Array (Searching)
89. Latihan Kode Bahasa Pemrogaman Java #47 | Mencari Nilai Terbesar Array
90. Latihan Kode Bahasa Pemrogaman Java #48 | Mencari Nilai Terkecil Array
91. Memahami Konsep Inheritance (Pewarisan) Dalam Java
92. Mengenal Encapsulation dalam Java
Ahmad Dika Zulfahmi - 18 Februari 2025
Jungler Tank Bisa Kembali? Update yang Bisa Membawa Jungler Tank ke Meta Lagi
Ahmad Dika Zulfahmi - 06 Februari 2025
Setting Sensitivitas Auto Headshot Free Fire Terbaik
Ahmad Dika Zulfahmi - 03 Februari 2025
Flash Sale Minaplay! Top Up Diamond Free Fire Murah & Cepat!