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).
