Abstract Class, Concrete Class, dan Interface

1.     Abstract Class
a.      Pengertian
Abstract class adalah kelas yang terletak pada posisi tertinggi pada hierarki kelas. Kelas ini digunakan sebagai basis bagi penurunan kelas lainnya, sehingga abstract class tidak dapat diinstansiasi secara langsung menjadi object. Suatu abstract class bisa mengandung method kongkrit dan/atau method abstract. Abstract method meruapakan suatu method yang tidak mempunyai badan method. Hanya berupa nama method dan parameter inputan method. Ketika suatu abstract class diturunkan/ di-extends, maka subclass harus mengimplementasikan semua method abstract pada parent/ base class. Jika tidak mengimplementasikan semua method abstract maka subclass harus dideklarasikan sebagai abstract class.
b.      Kapan Abstract Class digunakan
Ketika suatu program membutuhkan badan class untuk menjelaskan suatu program dan sebagai sebuah class yang akan diturunkan ke class concrete

2.     Concrete Class
a.      Pengertian
Concrete Class adalah class yang memiliki implementasi untuk semua metode yang digunakan yang diwarisi dari abstract class atau diimplementasikan memlaui interface. Ini berarti bahwa sebuah instance dari class dapat dibuat / dialokasikan dengan kata kunci baru tanpa harus menerapkan metode apapun terlebih dahulu. Oleh karena itu dapat disimpulkan bahwa setiap class yang bukan merupakan abstract class atau interface adalah concrete class
b.      Kapan Concrete Class digunakan
Concrete class digunakan dalam program yang classnya tersebut bukan abstract atau interface

3.     Interface
a.      Pengertian
Interface adalah kumpulan method yang hanya memuat deklarasi dan struktur method, tanpa detail implementasinya. Sedangkan detail dari method berada pada class yang mengimplementasikan interface tersebut. Interface digunakan bila Anda ingin mengaplikasikan suatu method yang spesifik, yang tidak diperoleh dari proses inheritance. Tipe data yang boleh pada interface hanya tipe data konstan.

b.      Kapan Interface digunakan
Interface digunakan jika ingin mengaplikasikan suatu method yang spesifik, yang tidak diperoleh dari proses inheritance. 

Contoh Penggunaan:



Contoh Program:










Komentar