Pemisalan Objek dalam OOP
Objek-objek dalam dunia nyata, mempunyai 2
karakteristik khusus : Status dan Perilaku. Contohnya, motor punya status(jumlah gigi, rem, kopling, spion,
dua buah ban dll) dan perilaku(mengerem, mempercepat, ubah gigi). Bahasa yang
berorientasi pada objek pun mempunyai karakteristik yang sama dengan objek-objek di dunia nyata. Yaitu status yang dalam bahasa
pemrograman biasanya
disimpan sebagai Variabel dan perilaku yang diimplementasikan sebagai
Method.
Karakteristik OOP
1. Enkapsulasi(Pembungkusan)
Enkapsulasi adalah pelindung program dan data yang sedang diolah. Enkapsulasi mendefinisikan perilaku dan melindungi program dan data
agar tidak diakses secara
sembarangan oleh program
lain. Dalam Java, dasar enkapsulasi adalah class.
Anda membuat suatu class yang menyatakan bahwa variable atau method sebuah class
tidak dapat diakses
oleh class lain dengan menjadikan class tersebut private, atau menjadikan
class tersebut
protected – yaitu hanya
bisa diakses oleh turunannya, atau menjadikan class tersebut
public – yaitu bisa diakses
oleh sembarang class.
2. Inheritansi
Objek-objek
yang berada di sekitar kita adalah objek-objek yang saling terhubung secara hirarkis. Misalnya
Lingkaran
dan Bujur Sangkar adalah turunan dari bentuk 2D dan bentuk 2D adalah turunan dari Objek Gambar
Lingkaran dan Bujur Sangkar mewarisi(inherit) sifat-sifat dari bentuk 2D, juga
mewarisi sifat-sifat dari objek gambar Lingkaran
dan Bujur Sangkar dapat dikatakan subclass dari bentuk 2D.
Bentuk 3D adalah
superclass dari Bola dan Piramida, dan
seterusnya.
3. Polimorfisme
Walaupun
Lingkaran dan Bujur Sangkat sama-sama turunan dari
Bentuk 2D, tetapi
cara menubah ukuran masing-masing berbeda, untuk lingkaran anda
harus merubah besar jari-jarinya, sedang untuk bujur sangkar anda harus
mengubah panjang sisinya.
Dalam Java implementasi, method suatu parent-class dapat diubah oleh
sub-class, hal ini dikenal dengan overriding method. Deklarasi method sama tetapi implementasi atau definisinya berbeda(Method atau perilaku
yang sama tapi
implementasinya/caranya
yang berbeda-beda inilah yang
disebut dengan Polimorfisme).