Pemrograman Berorientasi Objek merupakan pemograman yang berorientasikan kepada objek. Semua data dan fungsi di dalam paradigma ini dibungkus dalam kelas-kelas atau objek-objek. Setiap objek dapat menerima pesan, memproses data, dan mengirim pesan ke objek lainnya. Model data berorientasi objek dikatakan dapat memberi fleksibilitas yang lebih, kemudahan mengubah program, dan digunakan luas dalam teknik piranti lunak skala besar. 2. Enkapsulasi Suatu mekanisme untuk menyembunyikan atau memproteksi suatu proses dari kemungkinan interprensi atau penyalahgunaan dari luar sistem sekaligus menyederhanakan penggunaan sistem itu sendiri. Akses ke internal sistem diatur sedemikian rupa melalui perangkat interface. Ada 3 level Enkapsulasi pada pemrograman Java : Public, Protected, Private. 3. Pewarisan Konsep pemrograman dimana sebuah class dapat 'menurunkan' property dan method yang dimilikinya kepada class lain. Class yang akan 'diturunkan' bisa disebut sebagai class induk (parent class), super class, atau base class. Beberapa peraturan tentang pewarisan yang perlu diperhatikan : a. Java tidak mengizinkan pewarisan berganda, yaitu membuat suatu subclass yang diturunkan dari beberapa superclass sekaligus. Contoh class z hendak diturunkan dari class x dan juga sekaligus dari class y. Hal ini memungkinkan dalam c++ tetapi tidak dalam Java. b. Suatu subclass pada dasarnya juga adalah class biasa, maka Anda tetap dapat melakukan pewarisan pada subclass ini. Contoh dengan berdasarkan program di atas, Anda dapat membuat sebuah class baru yang diturunkan dari class B di atas, sehingga class baru tersebut akan memiliki apa yang dimiliki oleh class A dan class B. 4. Polymorphism Polymorphism berasal dari bahasa Yunani yang berarti “banyak bentuk”. Polymorphism gambaran pola dalam object-oriented programming di mana banyak class memiliki fungsi yang berbeda ketika menggunakan interface dan atau abstract class yang sama. 5. Interface Interface merupakan kumpulan dari method-method yang belum terdapat operasi di dalam tubuh method tersebut.Interface bisa diturunkan atau diwariskan kepada class yang ingin memakai method yang ada dalam masing-masing interface tersebut dengan keyword extends (interface yang didefinisikan). Sebuah class dapat mengimplementasikan 1 interface yang sudah dibuat dengan keyword implement. Interface dapat mendefinisikan konstanta. Interface juga tidak dapat membuat instance atau objek baru dari sebuah interface.Baik interface maupun class dapat mendefinisikan method. dalam java terdapat multiple interface, dimana dalam satu class dapat mengimplementasikan lebih dari satu interface. Aturan yang harus diingat tentang pendeklarasian interface: a. Access specifier yang dapat digunakan hanya public atau tidak ada sama sekali. Jika tidak ada acces specifier, maka interface tersebut hanya dapat digunakan dalam package yang sama, dimana ia dideklarasikan. b. Semua property yang dideklarasikan didalam interface secara otomatis akan dianggap sebagai static final (sekalipun kita tidak menuliskannya). Oleh karena itu, pada saat pendeklarasian harus langsung memberinya nilai. c. Semua method yang dideklarasikan, sama seperti class abstrak, tidak memiliki implementasi. Bedanya dengan class abstrak adalah kita tidak perlu lagi menggunakan keyword abstract pada waktu pendeklarasian method di dalam interface. d. Sama seperti class abstract, tidak dapat dibuat instance dari interface secara langsung menggunakan perintah new. 6. Pemrograman Java Bahasa pemrograman yang multi platform dan multi device. Sekali anda menuliskan sebuah program dengan menggunakan Java, anda dapat menjalankannya hampir di semua komputer dan perangkat lain yang support Java, dengan sedikit perubahan atau tanpa perubahan sama sekali dalam kodenya. Aplikasi dengan berbasis Java ini dikompulasikan ke dalam p-code dan bisa dijalankan dengan Java Virtual Machine. Fungsionalitas dari Java ini dapat berjalan dengan platform sistem operasi yang berbeda karena sifatnya yang umum dan non-spesifik. 3 Software Yang Diperlukan Untuk Membuat Program Java : a. Java Development Kit (JDK) b. Java Runtime Environtment (JRE) c. NetBeans IDE