A. Pengertian OOP
Object Oriented Programming Systems (OOPS) adalah paradigma pemrograman yang mengorganisir kode menjadi objek-objek yang saling berinteraksi dan berkomunikasi. Dalam OOPS, kode dipandang sebagai sebuah kumpulan objek yang memiliki sifat dan perilaku masing-masing.Program-program tersebut merupakan gabungan dari beberapa komponen kecil yang telah ada sebelumnya, sehingga dapat mempermudah pekerjaan seorang programmer dalam melakukan pengembangan.
OOP adalah cocok di gunakan untuk membuat program yang menerapkan kehidupan sehari-hari. Dengan OOP para pengembang bisa menjadi software pada objek-objek tertentu. OOP bertujuan untuk mempermudah pengembangan sebuah program. Ia memiliki variabel dan fungsi yang dibungkus ke dalam objek ataupun class.
B. Prinsip OOP
- Encapsulation atau pengkapsulan adalah konsep tentang pengikatan data atau metode berbeda yang disatukan atau “dikapsulkan” menjadi satu unit data. Maksudnya, berbagai objek yang berada dalam class tersebut dapat berdiri sendiri tanpa terpengaruh oleh yang lainnya.
Dalam Java, encapsulation dapat dicapai melalui access modifier yaitu public, private, dan protected.
- Public: memberikan akses terbuka ke suatu variabel atau method dan dapat diakses dari kelas manapun.
- Private: memberikan akses terbatas ke suatu variabel atau method dan hanya dapat diakses dari kelas yang sama.
- Protected: memberikan akses terbatas ke suatu variabel atau method dan dapat diakses dari kelas yang sama atau kelas turunan (subclass).
- Abstraction Prinsip selanjutnya yaitu abstraction. Prinsip ini sendiri berarti memungkinkam seorang developer memerintahkan suatu fungsi, tanpa harus mengetahui bagaimana fungsi tersebut bekerja. Lebih lanjut, abstraction berarti menyembunyikan detail latar belakang dan hanya mewakili informasi yang diperlukan untuk dunia luar.
Abstract class adalah class yang tidak dapat diinstansiasi (tidak dapat dibuat objeknya), tetapi dapat diwarisi oleh subclass. Abstract class memiliki method abstract, yaitu method yang hanya memiliki deklarasi tanpa implementasi. Implementasi method abstract harus dilakukan oleh subclass yang mewarisi abstract class tersebut
- Inheritance, Inheritance dalam konsep OOP adalah kemampuan untuk membentuk class baru yang memiliki fungsi turunan atau mirip dengan fungsi yang ada sebelumnya.Dalam inheritance, class induk sering disebut sebagai superclass atau base class, sedangkan class turunan disebut sebagai subclass atau derived class. Subclass dapat mengakses atribut dan metode yang diwarisi dari superclass dengan menggunakan keyword “super” atau nama class induk.
Dengan inheritance, sebuah objek dapat menggunakan atau memodifikasi atribut dan method yang sudah ada pada objek lain, sehingga tidak perlu membuat kode yang sama berulang-ulang.
- Polymorphism, Pada dasarnya polymorphism adalah kemampuan suatu pesan atau data untuk diproses lebih dari satu bentuk. Salah satu ciri utama dari OOP adalah adanya polymorphism. Tanpa hal ini, suatu pemrograman tidak bisa dikatakan sebagai OOP.
Polymorphism (bentuk banyak) dalam OOP (Object-Oriented Programming) adalah kemampuan suatu objek untuk memiliki banyak bentuk. Dalam Java, polymorphism dapat dicapai melalui dua cara: overloading dan overriding.
Overloading adalah kemampuan untuk memiliki beberapa method dengan nama yang sama, namun dengan parameter yang berbeda. Java dapat membedakan method tersebut berdasarkan tipe dan jumlah parameter yang diterima.