Konsep Pemrograman Berorientasi Objek :
1. Abstraction (Abstraksi).
Pengabstrakan atau penyembunyian kerumitan dari suatu proses.
Contoh : Orang tidak perlu berfikir bahwa mobil adalah kumpulan dari puluhan atau ribuan bagian kecil (mesin, kabel, baut, roda, rem, dsb). Orang hanya perlu berpikir bahwa mobil adalah objek yang telah memiliki perilaku spesifik yaitu dapat digunakan sebagai alat transportasi sehingga mereka tinggal menggunakan atau mengendarai tanpa harus mengetahui kerumitan proses yang terdapat dalam mobil tersebut.
Jadi, seorang programmer tidak perlu tahu secara detail bagaimana cara membuat sebuah tombol. Yang diperlukan adalah bagaimana cara menggunakan objek tombol yang sudah ada (baik data/properti maupun method-nya).
2. Encapsulation (Pembungkusan).
Secara kode program, proses abstraksi dapat dilakukan dengan cara membungkus smeua kode dan data yang berkaitan ke dalam satu entitas tunggal yang disebut dengan objek. Dengan kata lain, sebenarnya proses pembungkusan itu sendiri merupakan cara atau mekanisme untuk melakukan abstraksi. Dalam pemrograman terdahulu, proses semacam ini sering dinamakan dengan penyembunyian informasi (information hidding).
3. Inheritance (Pewarisan).
Sama seperti halnya dialam nyata (alam sekitar), sebagai contoh seorang anak pasti mewarisi sifat atau perilaku yang dimiliki oleh ibu/bapaknya.
Nah, didalam pemrograman Java, suatu kelas dapat diturunkan menjadi kelas-kelas baru lainnya yang akan mewarisi beberapa sifat atau perilaku dari kelas induknya.
Contoh : Apabila kita memilik kelas A dalam pemrograman berorientasi objek, maka kita dapat membentuk kelas-kelas turunan dari kelas A (misalnya: kelas B) yang mewarisi sifat-sifat yang terkandung dalam kelas A. Dalam proses pembuatan kelas turunan tersebut, kita juga dapat menambahkan sifat dan perilaku baru kedalam kelas B yang sebelumnya tidak dimiliki didalam kelas A. Dalam terminologi Java, kelas induk dinamakan dengan superclass dan kelas turunannya disebut dengan subclass.
4. Polymorphism (Polimorfisme/Kebanyakrupaan).
Polimorfisme atau sering dinamakan dengan dynamic binding, late binding, maupun runtime binding ini adalah kemampuan suatu objek untuk mengungkap banyak hal melalui satu cara yang sama.
Contoh : Terdapat kelas A yang diturunkan menjadi kelas B, C, dan D. Dengan konsep polimorfisme, kita dapat menjalankan method-method yang terdapat pada kelas B, C, dan D hanya dari objek yang diinstansiasi dengan kelas A.