Pelajari Abstraksi Data di Java

Diterbitkan: 2021-11-11

Konsep abstraksi data dapat dijelaskan melalui contoh kehidupan nyata. Mari kita perhatikan sebuah contoh di mana seorang pengemudi yang mengendarai kendaraan mengetahui bahwa mengerem akan menghentikan kendaraannya agar tidak bergerak lebih jauh. Jadi satu-satunya informasi yang diketahui pengemudi adalah dia harus menghentikan kendaraannya agar tidak bergerak, jadi dia mengerem. Tapi dia tidak tahu mekanisme yang mendasari bagaimana kendaraan berhenti ketika rem diinjak. Jadi konsep ini dapat dibandingkan dengan konsep abstraksi data di mana hanya informasi yang diperlukan untuk diketahui pengguna yang ditampilkan. Informasi yang mendasari disimpan tersembunyi. Jadi, ini adalah konsep abstraksi, dan ketika diterapkan dalam data, itu dikenal sebagai abstraksi data.

Pemrograman Berorientasi Objek menyediakan cara untuk memanfaatkan konsep abstraksi data. Java adalah salah satu Pemrograman Berorientasi Objek, mengikuti fitur abstraksi data. Dalam bahasa pemrograman ini, kelas abstrak dan antarmuka digunakan untuk mencapai abstraksi data.

Proses abstraksi data di Java dicapai melalui kelas abstrak kelas. Antarmuka juga digunakan untuk abstraksi data selain dari kelas abstrak. Kata kunci "abstrak" digunakan sebagai pengubah non-akses untuk metode dan kelas. Ketika didefinisikan dengan akses kata kunci, kelas adalah kelas abstrak di mana pembuatan objek tidak diperbolehkan. Aksesi kelas abstrak hanya mungkin jika diwarisi dari kelas lain. Metode abstrak adalah metode yang hanya dapat digunakan di kelas abstrak. Metode ini tidak memiliki badan metode.

Subclass umumnya menyediakan tubuh. Kelas abstrak dapat berisi metode yang reguler dan abstrak.

Daftar isi

Perbedaan antara kelas abstrak dan metode abstrak

Perbedaan antara abstract class dan abstract method adalah:

1. Kelas abstrak adalah kelas yang dideklarasikan dengan kata kunci abstract.

2. Metode abstrak adalah jenis metode yang dideklarasikan tanpa implementasinya.

3. Kelas abstrak tidak perlu memiliki semua metode metode abstrak di dalam dirinya sendiri. Itu juga dapat berisi metode yang tidak abstrak.

4. Setiap kali suatu metode didefinisikan sebagai metode abstrak, metode itu juga harus didefinisikan lagi di subkelas. Ini akan membuat override wajib dan juga membuat subclass abstrak.

5. Jika ada kelas yang berisi metode abstrak, baik satu metode abstrak atau lebih dari itu, harus dideklarasikan abstrak dengan menggunakan kata kunci abstract.

6. Kelas abstrak tidak boleh berisi objek apa pun. Operator baru tidak dapat digunakan untuk membuat instance kelas abstrak.

7. Selalu ada konstruktor default di kelas abstrak. Juga, konstruktor berparameter dapat hadir di kelas abstrak.

Kelas Abstrak Java

Bahasa pemrograman Java mengimplementasikan abstraksi melalui kelas abstrak. Kelas abstrak dapat didefinisikan sebagai kelas yang dideklarasikan dengan kata kunci “abstrak” dengan instruksi khusus yang tidak dapat digunakan oleh kelas-kelas ini. Kelas-kelas ini mungkin berisi atau mungkin tidak berisi metode abstrak.

Sintaks kelas abstrak di Java ditunjukkan di bawah ini.

Kode di atas diambil dari https://www.softwaretestinghelp.com/what-is-abstraction-in-java/ .

Dalam sintaks di atas, dapat diamati bahwa metode abstrak dan non-abstrak dapat dimuat dalam kelas abstrak. Juga, kata kunci "abstrak" ditempatkan sebelum deklarasi kelas.

Baca lebih lanjut tentang kelas abstrak Java di sini

Metode Abstrak Java

Metode abstrak Java adalah metode yang didahului oleh kata kunci “abstrak”, tetapi tidak ada implementasi metode tersebut. Metode abstrak Java dideklarasikan dalam kelas abstrak Java.

Karena metode abstrak, kelas abstrak Java menjadi tidak lengkap karena metode tidak dapat diimplementasikan. Oleh karena itu, pencantuman bentuk abstrak dalam kelas abstrak secara alami membuat kelas abstrak tidak lengkap.

Implementasinya pada subclass dapat menggunakan metode abstract. Subkelas ini akan mewarisi kelas abstrak dan akan melaksanakan implementasi metode abstrak. Sintaks umum dari metode abstrak adalah

abstract void methodName (daftar_parameter);

Beberapa aturan harus diperhatikan saat menulis metode abstrak

  • Jika suatu kelas berisi lebih dari satu metode abstrak, maka kelas tersebut akan menjadi kelas abstrak.
  • Seharusnya tidak ada kata kunci selain "abstrak" saat mendefinisikan kelas dan metode abstrak.

Mempertimbangkan poin di atas, kemungkinan berikut tidak diperbolehkan di Java.

  • terakhir
  • asli abstrak
  • abstrak statis
  • abstrak pribadi
  • abstrak disinkronkan
  • abstrak ketatfp

Contoh abstraksi data di Java ditunjukkan di bawah ini.

https://www.javatpoint.com/how-to-achieve-abstraction-in-java .

Kode di atas diambil dari https://www.softwaretestinghelp.com/what-is-abstraction-in-java/ .

Dalam kode yang ditunjukkan di atas, ada kelas Bank. Ada metode abstrak di dalam kelas Bank yaitu getInterestRate(). Dua kelas lain BOI dan ICICI, dideklarasikan, yang mewarisi kelas Bank. Kelas yang dideklarasikan ini mewarisi kelas Bank dan karenanya mengimplementasikan metode getInterestRate() yang mengembalikan suku bunga.

Objek Bank dibuat dalam metode utama. Obyek Bank terdiri dari obyek kelas ICICI yang menampilkan tingkat suku bunga. Pada langkah selanjutnya, objek kelas BOI juga dibuat, yang menampilkan tingkat suku bunga.

Abstraksi data melalui antarmuka

Antarmuka mirip dengan kelas Java, dengan satu-satunya perbedaan adalah bahwa ada metode kosong di antarmuka. Itu juga dapat didefinisikan sebagai kelas yang terdiri dari metode abstrak dan konstanta statis. Setiap metode yang ada di antarmuka bersifat publik, dan tidak mengandung konstruktor apa pun. Antarmuka digunakan untuk mencapai abstraksi data, dan juga digunakan untuk melakukan banyak pewarisan di Jawa.

Beberapa fitur antarmuka di Java adalah:

  • Antarmuka dapat digunakan untuk mencapai abstraksi total.
  • Satu kelas dapat menggunakan beberapa antarmuka yang mengarah pada pencapaian beberapa antarmuka.
  • Antarmuka memungkinkan mencapai kopling longgar.

Sintaks antarmuka ditunjukkan di bawah ini:

Sintaks di atas digunakan dari https://www.javatpoint.com/how-to-achieve-abstraction-in-java .

Antarmuka dapat digunakan melalui kata kunci “implement”.

Beberapa perbedaan antara kelas abstrak dan antarmuka adalah:

  • Baik metode abstrak maupun non-abstrak dapat dimasukkan ke dalam kelas abstrak. Sementara, dalam sebuah antarmuka, hanya metode abstrak yang dapat hadir.
  • Variabel akhir mungkin ada atau tidak ada di kelas abstrak. Dalam antarmuka, variabel bisa final sebagai variabel default.
  • Abstrak kelas dapat memiliki variabel yang non-final, final, non-statis, atau statis. Sementara, dalam sebuah antarmuka, hanya variabel statis dan final yang mungkin ada.
  • Kelas abstrak memungkinkan implementasi antarmuka. Kelas abstrak tidak dapat diimplementasikan dalam antarmuka.
  • Warisan kelas abstrak dilakukan melalui kata kunci "memperpanjang." Implementasi antarmuka dilakukan melalui kata kunci “implement”.
  • Kelas abstrak dapat mengimplementasikan beberapa antarmuka, atau kelas lain dapat diperluas oleh kelas abstrak. Sedangkan antarmuka hanya memungkinkan implementasi antarmuka lain.
  • Terlepas dari anggota publik, baik anggota data yang dilindungi dan pribadi yang terkandung dalam kelas abstrak. Sedangkan anggota antarmuka secara default adalah publik.

Pelajari Kursus Perangkat Lunak online dari Universitas top dunia. Dapatkan Program PG Eksekutif, Program Sertifikat Tingkat Lanjut, atau Program Magister untuk mempercepat karier Anda.

Kesimpulan

Artikel tersebut telah menjelaskan konsep abstraksi data dan telah mencantumkan bagaimana abstraksi data dapat dicapai di Java. Untuk mendapatkan lebih banyak pengalaman dalam bahasa pemrograman Java, Anda dapat memeriksa Kursus Pengembangan Perangkat Lunak yang ditawarkan oleh upGrad. Kursus ini dirancang untuk para profesional yang bekerja dan akan melatih Anda dengan proyek berorientasi industri yang akan mengembangkan keterampilan pemrograman yang diperlukan. Informasi lebih lanjut dapat diambil melalui website kami. Untuk setiap informasi dan bantuan, tim bantuan kami dapat dihubungi.

Apa itu Abstraksi Data?

Abstraksi data adalah konsep desain perangkat lunak. Masalah yang dipecahkannya adalah membuat struktur dan fungsi data yang independen dari tipe data tempat mereka beroperasi. Ini mengisolasi kode dari tipe data dan memungkinkan kode yang sama untuk digunakan dalam berbagai situasi. Abstraksi data dicapai ketika data yang diwakili oleh struktur data dan operasi yang dapat diterapkan padanya didefinisikan dengan jelas. Abstraksi sangat penting dalam pengembangan perangkat lunak. Ini adalah salah satu kekuatan mendasar yang mengarah ke perangkat lunak yang lebih sederhana, lebih kecil, dan lebih andal. Abstraksi data adalah komponen penting dari bahasa tingkat tinggi.

Apa keuntungan dari abstraksi di Jawa?

Bagaimana cara mencapai abstraksi di Jawa?

Abstraksi di java dilakukan menggunakan Antarmuka. Untuk mengimplementasikan antarmuka, seseorang perlu menyediakan implementasi juga. Sebenarnya, tidak perlu mewarisi kelas untuk mengimplementasikan antarmuka. Antarmuka sama seperti kelas lain di java. Apa yang membuat mereka berbeda adalah kenyataan bahwa mereka hanya memiliki satu metode.