Sekilas Tentang Object Oriented Programming
Object Oriented Programming merupakan paradigma pemrograman yang bertujuan untuk menstruktur data dan program dalam bentuk class. Class dalam Object Oriented Programming berperan sebagai kerangka yang memuat berbagai macam kumpulan attribute dan method. Bentuk nyata dari class adalah object, sehingga class dapat direalisasikan menjadi object atau dapat dikatakan juga bahwa object adalah sebuah instance dari class. Attribute dalam class merupakan suatu karakteristik yang mendeskripsikan suatu hal, dan method merupakan aksi yang dapat dilakukan oleh class tersebut.
Class juga dapat memiliki sebuah object identifier yang merupakan attribute dari class yang nilainya pasti berbeda antara object – object yang terbentuk dari class tersebut.
Empat Prinsip Utama dalam Object Oriented Programming
Inheritance
Inheritance merupakan konsep penurunan kumpulan attribute dan method pada suatu class, class yang menerima kumpulan attribute dan method turunan tersebut disebut sebagai child/sub class dan class yang menurunkan disebut sebagai parent/super class. Child/sub class sendiri akan memiliki kumpulan attribute dan method yang sama atau lebih dari parent/super class.
Abstraction
Abstraction merupakan konsep penggunaan suatu hal tanpa menjabarkan secara rinci bagaimana implementasi dan cara kerja hal tersebut, sehingga output akan di terima tanpa harus melewati proses penjabaran pengolahan input yang rinci.
Proses penyembunyian perincian internal ini diterapkan dalam sistem berorientasi objek dengan penggunaan access modifiers yang menyatakan aksesibilitas suatu attribute atau method. Pada umumnya access modifiers ada tiga yaitu public, protected, dan private.
Polymorphism
Polymorphism merupakan konsep kemampuan objek untuk memiliki banyak bentuk atau suatu interface tunggal yang dapat digunakan oleh banyak instansi – instansi lainnya. Polymorphism diimplementasikan dengan penggunaan konsep Inheritance sehingga terdapat attribute atau method tunggal yang sama namun dapat memiliki nilai atau fungsi yang berbeda.
Encapsulation
Encapsulation merupakan konsep pemuatan dan pembatasan semua informasi penting dan relevan dalam sebuah object, sehingga encapsulation, berarti untuk hanya menunjukkan beberapa informasi yang terpilih untuk ditunjukkan ke elemen – elemen eksternal dan menutup informasi lain yang dapat bersifat sensitif untuk disembunyikan.
Dengan adanya encapsulation, suatu object mendapatkan suatu lapisan keamanan dalam cara kerjanya dan implementasinya sehingga hanya elemen – elemen tertentu yang dapat berinteraksi dan mengubah attribute dan method yang tersedia oleh class tersebut. Sama dengan abstraction, encapsulation diimplementasikan dengan menggunakan access modifiers untuk menentukan bagaimana suatu attribute ataupun method dapat diakses.