Teknologi Object Oriented Programming memandang software sebagai sebuah interaksi antarbagian dalam sebuah sistem, dan menggambarkan satu bagian tersebut dalam satu objek (Visual Modeling Menggunakan UML dan Rational Rose, A Suhendar & Hariman Gunadi) yang memiliki sifat/properti/data dan kemampuan untuk melakukan suatu tugas tertentu.

Contoh objek adalah manusia, yang memiliki tangan dan kaki itu dipandang sebagai sifat/data (properti), sedangkan memegang dan berlari adalah pekerjaan/tugas-tugas yang bisa dilakukan (metode). Jika diperhatikan, sebetulnya properti dan metode memiliki hubungan walaupun tidak selamannya harus ada (memegang dengan tangan, berlari dengan kaki).

OOP (Object Oriented Programming) adalah metode pemrograman yang mengikuti konsep-konsep berorientasi objek. Yakni encapsulasi (pengkapsulan), inheritance (pewarisan), polimorfisme (keragaman/bentuk lain).

Berpikir OOP adalah selalu melihat persoalan program sebagai objek yang memiliki sekumpulan data dan metode, serta menggabungkan data dan metode dalam satu objek dan meniadakan/mengurangi penggunaan variabel/fungsi global dalam program.

Dalam pemograman klasik (pemrograman terstruktur), biasanya memisahkan data dan metode. Akibatnya, metode akan disimpan dalam sebuah unti tersendiri, begitu juga dengan adannya data sehingga baik data dan metode akan bersifat global. Untuk aplikasi bersekala kecil, mungkin belum menimbulkan persoalan. Namun, jika aplikasi menjadi besar, maka akan timbul terus metode demi metode, variabel demi variabel. Sehingga satu saat programer bisa terjebak pada kondisi menulis metode yang berfungsi sama, lebih sekali dengan nama yang berbeda. Atau, programmer akan mengecek, sudah ada apa belum metode baru yang akan dituliskan, dengan membaca seluruh unit yang sudah dibuat, satu demi satu (ratusan atau mungkin ribuan). Belum lagi tentang variabelnya yang berada dimana-mana, kepala bisa pusing sebelum sempat menyelesaikan persoalan logik program yang sebenernya.

Konsep objek selalu menyatukan data sebagai badan dan metode sebagai ruh dalam satu wadah layaknya manusia hidup. Namun, pemrograman klasik memisahkan data sebagai badan manusia dan metode sebagai ruh. Akibatnnya manusia bisa menjadi hantu dan mayat (kurang relevan dengan kenyataan).