プログラミング

Abstraksi Di Java

Oleh: Avrilian Briliansyah

Abstract Class

Abstract Class adalah class yang berisi variabel dan method, yang bisa digunakan untuk membuat class yang lain. Abstract class sendiri tidak dapat di-inisialisasi menjadi objek.

abstract class Dog {
    String breed;

}

Semua class yang diturunkan dari Abstract class tersebut memiliki tipe yang sama yaitu Abstract class tersebut.

Abstract Method

Abstract Method adalah method yang dideklarasikan di Abstract Class namun tidak memiliki badan (kode didalam {}). Abstract Method mengharuskan class yang mengextends Abstract Class yang memiliki Abstract Method untuk mengimplementasikannya di class anakan.

Abstract method memiliki keyword abstract sebelum tipe method dan sesudah modifier kalau ada.

abstract class Dog {
    String breed;

    abstract void poop();
}

Tujuan Abstract Class

Abstract class membantu kita mengorganisasi class. Ia menentukan method apa yang harus ada pada class yang diturunkan dari Abstract class tersebut.

Implementasi Abstract method mungkin berbeda-beda tergantung class. Dan itu sebabnya kita membuat method tersebut abstract.

Praktikum

Apa Bedanya Class Abstrak dengan Interface?

Class abstrak dan interface sama-sama digunakan untuk membuat abstraksi. Keduanya hampir memiliki sifat yang sama.

  1. di class abstrak kita bisa buat properti atau variabel sedangkan di interface kita cuma bisa buat konstanta saja
  2. di class abstrak kita bisa implementasikan kode method seperti class biasa, sedangkan di interface harus menggunakan default
  3. di class abstrak dapat memiliki member private dan protected sedangkan interface harus publik semua
  4. Class abstrak diimpelentasikan dengan pewarisan (extends) sedangkan interaface menggunakan implements

Sumber

  1. Abstract Classes and Methods - Learn Abstraction in Java
  2. Petani Kode