Abstract Class Java Adalah

4 min read Jun 22, 2024
Abstract Class Java Adalah

Abstract Class dalam Java

Abstract class dalam Java adalah kelas yang tidak dapat diinstansiasi langsung. Artinya, Anda tidak dapat membuat objek dari kelas abstrak. Kelas abstrak berfungsi sebagai blueprint atau template untuk kelas lain yang ingin mewarisi sifat-sifatnya.

Mengapa kita menggunakan abstract class?

  • Polimorfisme: Abstract class memungkinkan Anda untuk mendefinisikan metode abstrak yang harus diimplementasikan oleh kelas anak. Ini membantu dalam mencapai polimorfisme, yaitu kemampuan objek untuk mengambil banyak bentuk.
  • Pemisahan Concern: Abstract class membantu dalam memisahkan concern dengan mendefinisikan metode umum yang dapat digunakan oleh kelas anak.
  • Kode Reusability: Abstract class meningkatkan reusability kode dengan memungkinkan kelas anak untuk mewarisi metode dan atributnya.

Contoh Abstract Class

abstract class Shape {
    // Atribut yang diwariskan ke kelas anak
    private String color;

    // Konstruktor
    public Shape(String color) {
        this.color = color;
    }

    // Metode abstrak yang harus diimplementasikan oleh kelas anak
    public abstract double calculateArea();

    // Metode non-abstrak yang dapat diakses oleh kelas anak
    public String getColor() {
        return color;
    }
}

Contoh Implementasi Abstract Class

class Circle extends Shape {
    private double radius;

    public Circle(String color, double radius) {
        super(color);
        this.radius = radius;
    }

    // Implementasi metode abstrak
    @Override
    public double calculateArea() {
        return Math.PI * radius * radius;
    }
}

class Rectangle extends Shape {
    private double length;
    private double width;

    public Rectangle(String color, double length, double width) {
        super(color);
        this.length = length;
        this.width = width;
    }

    // Implementasi metode abstrak
    @Override
    public double calculateArea() {
        return length * width;
    }
}

Cara Menggunakan Abstract Class

  1. Deklarasikan kelas sebagai abstract.
  2. Definisikan metode abstrak.
  3. Buat kelas anak yang mewarisi kelas abstrak.
  4. Implementasikan metode abstrak di kelas anak.

Perbedaan Abstract Class dan Interface

Fitur Abstract Class Interface
Instansiasi Tidak dapat diinstansiasi Tidak dapat diinstansiasi
Metode Dapat memiliki metode abstrak dan non-abstrak Hanya memiliki metode abstrak
Atribut Dapat memiliki atribut Tidak dapat memiliki atribut
Warisan Mendukung pewarisan tunggal Mendukung pewarisan berganda
Implementasi Membutuhkan implementasi metode abstrak di kelas anak Membutuhkan implementasi semua metode di kelas yang mengimplementasikan interface

Kesimpulan

Abstract class adalah alat yang penting dalam pemrograman berorientasi objek (OOP). Mereka menyediakan cara yang baik untuk mencapai polimorfisme, memisahkan concern, dan meningkatkan reusability kode.

Latest Posts