Pemrograman Berorientasi Objek (OOP) adalah metodologi atau paradigma untuk merancang program menggunakan kelas dan objek. Program yang kita tulis merupakan interpretasi dari suatu objek nyata. Objek dalam hal ini adalah suatu entitas di dunia nyata seperti binatang, mobil, pohon, komputer, jam tangan, dll.

Salah satu konsep OOP yang paling mendasar adalah Abstraksi. Abstraksi adalah proses di mana hanya menampilkan data yang relevan  dan menyembunyikan detail objek yang tidak perlu dari pengguna. Misalnya, saat masuk ke akun Aplikasi secara online,  saat kita memasukkan user id dan kata sandi kemudian menekan tombol login kita tidak akan pernah tahu proses apa saja workflow program yang dilalui saat menekan login, bagaimana data input dikirim ke server aplikasi, bagaimana hal itu diverifikasi, hal-hal yang tidak perlu diketahui user semuanya disembunyikan. Abstraksi fokus pada apa yang dilakukan objek dan bukan pada bagaimana melakukannya.

Ada dua cara untuk membuat abstraksi pada java

  1. Kelas Abstrak ( 0 - 100 %)
  2. Interface (100%)
Kelas yang dideklarasikan sebagai abstrak dikenal sebagai kelas abstrak. Pada kelas abstrak dapat memiliki metode abstrak dan non-abstrak. Kelas tersebut perlu diperluas dan metodenya harus diimplementasikan.

Method Abstrak di Java
Sebuah method yang dinyatakan sebagai abstrak dan tidak memiliki implementasi dikenal sebagai method abstrak.

Contoh metode Abstrak di Java
abstract void cetakHarga();//tidak ada method body dan abstrak

Contoh Kelas Abstrak dengan method abstrak

Dalam contoh ini, Animals adalah kelas abstrak yang hanya berisi satu method abstrak yang dijalankan. Implementasinya disediakan oleh kelas Cat.




Contoh lain penggunaan Kelas Abstrak
Contoh lainnya adalah pada kasus ingin mengetahui rasa buah tertentu. Misal rasa buah mangga manis dan rasa buah belimbing asam.


Hasil compile program adalah sebagai berikut.