Enkapsulasi vs Abstraksi
Enkapsulasi dan Abstraksi adalah dua konsep berbeda tetapi terkait yang ditemukan dalam bahasa OOP (Object Oriented Programming). Enkapsulasi adalah konsep menggabungkan data dan perilaku bersama sebagai satu kesatuan. Di sisi lain, Abstraksi adalah proses penyajian bagaimana entitas berperilaku \ terlihat sebagai kebalikan dari bagaimana itu diterapkan.
Apa itu Enkapsulasi?
Enkapsulasi adalah proses membungkus data dan operasi yang beroperasi pada mereka ke satu entitas. Ini pada dasarnya berarti bahwa untuk mengakses data, metode tertentu yang telah ditentukan harus digunakan. Dengan kata lain, data yang dienkapsulasi tidak dapat diakses secara langsung. Ini memastikan bahwa integritas data dipertahankan karena pengguna tidak dapat secara langsung mengakses dan memodifikasi data sesuai keinginannya. Pengguna akan mendapatkan atau menetapkan nilai data hanya melalui metode yang tersedia untuk umum bagi pengguna. Metode ini biasanya memberikan validasi data sehingga hanya data dalam format yang sesuai yang boleh dimasukkan ke dalam bidang. Oleh karena itu, manfaat Enkapsulasi tiga kali lipat. Melalui Enkapsulasi, programmer dapat membuat bidang kelas hanya-baca atau menulis saja. Kedua, kelas dapat memiliki kontrol total atas apa yang disimpan di bidangnya. Akhirnya, pengguna kelas tidak perlu khawatir bagaimana datanya disimpan. Di Jawa, programmer dapat mendeklarasikan semua variabel instan menjadi privat dan menyediakan metode get dan set (yang bersifat publik) untuk mengakses dan memodifikasi bidang privat.
Apa itu Abstraksi??
Abstraksi adalah proses memisahkan detail presentasi dari detail implementasi. Ini dilakukan agar pengembang terbebas dari detail implementasi yang lebih kompleks. Sebaliknya, programmer dapat fokus pada presentasi atau detail perilaku entitas. Dalam istilah sederhana, abstraksi berfokus pada bagaimana entitas tertentu dapat digunakan daripada bagaimana itu diterapkan. Abstraksi pada dasarnya menyembunyikan detail implementasi, sehingga bahkan jika metodologi implementasi berubah dari waktu ke waktu, programmer tidak perlu khawatir bagaimana itu akan mempengaruhi programnya. Suatu sistem dapat diabstraksi dalam beberapa lapisan atau level. Misalnya, lapisan abstraksi tingkat rendah akan mengungkapkan detail perangkat keras, sementara abstraksi tingkat tinggi hanya akan mengungkapkan logika bisnis entitas. Istilah abstraksi dapat digunakan untuk merujuk pada entitas dan proses dan ini menyebabkan kebingungan. Sebagai suatu proses, abstraksi berarti mengekstraksi detail-detail penting sambil mengabaikan detail-detail yang tidak penting dari suatu item atau grup item, sedangkan sebagai entitas, abstraksi berarti model atau pandangan suatu entitas dengan hanya detail-detail esensial. Di Jawa, pemrogram dapat menggunakan abstrak kata kunci untuk mendeklarasikan kelas sebagai entitas abstrak, yang mewakili ciri-ciri pendefinisian penting dari entitas dunia nyata.
Apa perbedaan antara Enkapsulasi dan Abstraksi?
Meskipun Enkapsulasi dan Abstraksi adalah konsep yang sangat terkait ditemukan dalam bahasa Pemrograman Berorientasi Objek, mereka memiliki perbedaan utama. Abstraksi adalah teknik, yang membantu kita mengidentifikasi apa yang seharusnya terlihat dan apa yang harus disembunyikan. Enkapsulasi adalah teknik untuk mengemas informasi sedemikian rupa sehingga membuat terlihat apa yang harus terlihat dan menyembunyikan apa yang harus disembunyikan. Dengan kata lain, Enkapsulasi dapat diidentifikasi sebagai satu langkah di luar abstraksi. Sementara abstraksi mereduksi objek dunia nyata menjadi karakteristik penentu dasarnya, enkapsulasi memperluas ide ini dengan memodelkan dan menghubungkan fungsi ini dari entitas itu..