Berikut adalah definisi singkat dari enkapsulasi dan abstraksi.
Abstraksi:
Proses abstraksi di Java digunakan untuk menyembunyikan detail tertentu dan hanya menampilkan fitur penting dari objek. Dengan kata lain, ini berhubungan dengan tampilan luar dari suatu objek (antarmuka). Satu-satunya contoh bagus yang saya lihat untuk ini di berbagai situs adalah antarmuka.
Enkapsulasi:
Ini pada dasarnya tentang menyembunyikan status objek dengan bantuan pengubah seperti privat, publik, dilindungi, dll. Kami mengekspos status melalui metode publik hanya jika diperlukan.
Apa yang kami capai dengan modifikator seperti private
, public
juga menyembunyikan detail yang tidak perlu dari dunia luar yang tidak lain adalah konsep abstraksi
Jadi, dari penjelasan di atas sepertinya enkapsulasi merupakan bagian dari abstraksi atau bisa juga dikatakan sebagai subset dari abstraksi. Tapi mengapa istilah enkapsulasi ditemukan ketika kita bisa mengatasinya hanya dengan abstraksi? Saya yakin harus ada beberapa perbedaan utama yang membedakan mereka tetapi sebagian besar materi di internet mengatakan hal yang hampir sama untuk keduanya.
Meskipun pertanyaan ini telah diangkat di forum ini sebelumnya juga, tetapi saya mempostingnya lagi dengan keraguan khusus. Beberapa balasan juga mengatakan abstraksi adalah konsep dan enkapsulasi adalah implementasi. Tetapi saya tidak percaya ini - Jika benar, maka saya dapat berpikir bahwa dua konsep berbeda ini disediakan untuk membingungkan kita.
Pembaruan: - Setelah 5 tahun saya telah menemukan jawaban saya sendiri yang intinya berdasarkan jawaban di posting ini dan yang di bawah ini
An 'abstraction' (noun) is a concept that acts as a super-categorical noun for all subordinate concepts, and connects any related concepts as a group, field, or category.