OOP kepanjangan dari Object Oriented Programming, merupakan terobosan baru dalam pemrograman setelah pemrograman prosedural, pemrograman modular dan pemrograman abstraksi data.
Kenapa harus OOP?
Keuntungan dari OOP, antara lain :
- Reusable, kode yang diimplementasikan didalam class dapat digunakan kembali di aplikasi atau program lainnya.
- Extensible, kode yang sudah dibuat dapat kita rubah lagi implementasi fungsi-fungsinya sesuai dengan yang kita inginkan.
- Manageable, kode yang sudah dibuat lebih mudah untuk di maintain/manage. Misalnya kalau ada perubahan-perubahan business process maka yang perlu kita lakukan hanyalah merubah kode yang terdapat didalam class tersebut saja, tanpa harus membongkar semua kode aplikasi yang sudah dibuat dibuat.
Ada tiga konsep utama yang ada di OOP, yaitu: Encapsulation, Inheritance dan Polymorphism.
Encapsulation
Encapsulation merupakan penyembunyian informasi melalui private dan protected. Pada dasarnya adalah kita tidak perlu mengetahui apa yang ada dalam objek itu (class), yang kita butuhkan adalah apa kegunaan, bagaimana cara memakainya dan apa yang akan terjadi, antara lain :
- Digunakan untuk membatasi akses terhadap instance variable dan method yang ada pada sebuah class dan atau class – class turunannya.
- Digunakan untuk menyembunyikan data – data yang sifatnya tidak boleh diketahui oleh user pada sebuah object.
- Semua interaksi harus dilakukan melalui method yang sudah disediakan.
Encapsulasi akan menghasilkan suatu class. class = kontainer statis untuk menciptakan suatu objek. Didalam class sendiri terdapat atribut(data) dan method(kalo prosedural fungsi/prosedur). Dalam encapsulasi hal yang cukup penting adalah information hidding. Biasa menggunakan kata kunci private. Hal ini yang sering dilanggar oleh programmer OOP. Atribute yang ada di class seharusnya berupa private (hanya dapat diakses pada kelas tersebut).
Inheritance
Inheritance merupakan suatu kelas yang berasal dari turunan pertama atau lebih kelas lainnya. Intinya adalah mengembangkan class yang sudah ada. Jadi kita tidak perlu membentuk class dari awal, class yang sudah ada bisa dimodifikasi dan/atau ditambah fungsinya sesuai dengan kebutuhan.
Polymorphism
Polymorphism adalah kemampuan objek berubah menjadi objek yang lain, beberapa objek bertipe sama bereaksi secara berbeda terhadap “pesan” yang sama.
Kesimpulan
Istilah enkapsulasi sebenarnya adalah kombinasi data dan fungsionalitas dalam sebuah unit tunggal sebagai bentuk untuk menyembunyikan detail informasi. Proses enkapsulasi memudahkan kita untuk menggunakan sebuah objek dari suatu kelas karena kita tidak perlu mengetahui segala hal secara rinci. Enkapsulasi menekankan pada antarmuka suatu kelas, atau dengan kata lain bagaimana menggunakan objek kelas tertentu.
Kita dapat mendefinisikan suatu kelas baru dengan mewarisi sifat dari kelas lain yang sudah ada. Penurunan sifat ini bisa dilakukan secara bertingkattingkat, sehingga semakin ke bawah kelas tersebut menjadi semakin spesifik. Sub kelas memungkinkan kita untuk melakukan spesifikasi detail dan perilaku khusus dari kelas supernya. Dengan konsep pewarisan, seorang programmer dapat menggunakan kode yang telah ditulisnya pada kelas super berulang kali pada kelas-kelas turunannya tanpa harus menulis ulang semua kode-kode itu.
Polimorfisme merupakan kemampuan objek-objek yang berbeda kelas namun terkait dalam pewarisan untuk merespon secara berbeda terhadap suatu pesan yang sama. Polimorfisme juga dapat dikatakan kemampuan sebuah objek untuk memutuskan method mana yang akan diterapkan padanya, tergantung letak objek tersebut pada jenjang pewarisan. Method overriding. Method name overloading.
2 komentar:
sip gan
Adakah contoh program java untuk implementasi Polymorphism gan?
ane kurang paham soalnya
Posting Komentar
1. "Blog ini Do Follow, silakan post untuk mendapatkan Backlink"
2. "Anda Follow, pasti saya Followback"
3. "Kalau mau Copy-Paste artikel boleh saja, tapi sumbernya ke blog ini"
4. "Terima Kasih Lagi . . . !!!"
Komentar Anda Sangat Kami Harapkan Untuk Kemajuan Blog Ini. isikan komentar anda disini !