Pemrograman Berorientasi Objek (atau OOP) sebenarnya diklasifikasikan berdasarkan tiga prinsip utama.
1) Enkapsulasi
2) Warisan
3) Polimorfisme
Ini tampak seperti istilah yang menakutkan tetapi sebenarnya merupakan prinsip yang cukup mudah dipahami. Untuk mengetahui cara memprogram dengan Java, Anda perlu memahami prinsip-prinsip ini. Jadi, mari kita pertimbangkan konsep utama pertama kita tentang OOP, enkapsulasi. Enkapsulasi berarti kita ingin membatasi akses yang dimiliki beberapa bagian kode lainnya ke objek khusus ini. Jadi, untuk mengilustrasikan, jika Anda memiliki objek Person, dan objek Person ini memiliki nama depan dan belakang sebagai atribut. Jika potongan kode lain mencoba mengubah nama depan objek Person Anda menjadi “Frank3”, Anda dapat mencatat nama depan yang coba ditetapkan, dan menghapus digit apa pun sehingga kita hanya tinggal dengan “Frank”. Tanpa enkapsulasi, kita tidak akan memiliki kemampuan untuk mencegah “programmer konyol” mengubah nilai variabel kita menjadi sesuatu yang tampaknya tidak masuk akal, atau lebih buruk lagi, merusak aplikasi. Tampaknya masuk akal?
Konsep kedua OOP, dan prinsip penting jika Anda ingin mempelajari cara memprogram dengan Java, adalah Pewarisan. Konsep khusus ini mengacu pada kelas super (atau kelas induk) dan kelas sub (atau kelas anak) dan fakta sederhana bahwa kelas anak memperoleh setiap atribut dari induknya. Anda dapat menganggapnya dalam konteks keadaan dunia nyata, seperti orang tua dan anak yang nyata. Seorang anak mungkin akan mewarisi sifat-sifat tertentu dari orang tuanya, seperti warna mata atau warna rambut. Mari kita bayangkan contoh lain dalam hal pemrograman, katakanlah kita memiliki kelas super “Kendaraan” dan kelas sub “Mobil” dan “Sepeda Motor”. “Kendaraan” memiliki ban, oleh karena itu melalui pewarisan demikian pula “Mobil” dan “Sepeda Motor”, namun “Mobil” memiliki pintu, dan “Sepeda Motor” tidak. Jadi tidak akan akurat untuk menyatakan bahwa “Kendaraan” memiliki pintu, karena pernyataan itu tidak akurat. Jadi Anda dapat melihat bagaimana kita dapat menentukan semua aspek yang serupa mengenai “Mobil” dan “Sepeda Motor” dan dengan demikian mengidentifikasi keduanya di dalam super kelas “Kendaraan”.
Konsep ke-3 OOP adalah Polimorfisme. Konsep khusus ini tampaknya menjadi salah satu yang paling menakutkan, tetapi saya dapat menjelaskannya dengan istilah yang sederhana. Polimorfisme berarti bahwa sebuah objek (misalnya Hewan) dapat mengambil beberapa bentuk saat program Anda beroperasi. Bayangkan Anda telah merancang kelas Hewan dan mendefinisikan metode “Bicara”. Anda kemudian meminta tiga teman Anda untuk mengembangkan jenis hewan dan meminta mereka mengimplementasikan metode “Bicara”. Anda tidak akan tahu jenis hewan apa yang dibuat teman Anda, atau bagaimana Hewan mereka akan berbicara, kecuali Anda benar-benar mendengar hewan tersebut berbicara. Ini sangat mirip dengan cara Java mengatasi masalah ini. Ini disebut pengikatan metode dinamis, yang artinya, Java tidak akan memahami bagaimana Hewan yang sebenarnya berbicara hingga runtime. Jadi mungkin teman Anda telah membuat Anjing, Kucing, dan Ular. Berikut adalah tiga jenis Hewan, dan masing-masing berbicara dengan jelas. Setiap kali Java meminta Anjing untuk berbicara, ia berkata “guk”. Setiap kali Java meminta Kucing untuk berbicara, ia berkata “meong”. Setiap kali Java meminta ular untuk berbicara, ia mendesis. Di situlah indahnya polimorfisme, yang kita lakukan hanyalah mendefinisikan antarmuka Hewan dengan metode Bicara, dan kita dapat membuat sekumpulan jenis hewan yang berbicara dengan cara khusus mereka sendiri.