Sejak pertama kali dikembangkan, Java telah didesain sebagai bahasa pemrograman berorientasi obyek (object oriented). Segala aspek yang ada di Java dapat dipandang sebagai obyek. Keunggulan bahasa pemrograman berorientasi obyek adalah kemudahan dalam pengembangan program aplikasi dengan cara mengikuti model pada kehidupan nyata. Sebuah obyek, baik di dunia nyata maupun di dalam program Java, memiliki dua karakteristik yaitu keadaan atau kondisi (state) dan tingkah laku (behaviour).
Sebagai contoh dalam kehidupan nyata, Anda dapat memandang sebuah balok. Balok adalah obyek yang dapat dilihat. Balok mempunyai panjang, lebar, tinggi dan juga warna tertentu. Anda juga dapat menghitung luas permukaan, volume, diagonal sisi dan diagonal ruang balok. Di program aplikasi yang menggunakan Java, Anda dapat mendeklarasikan balok sebagai kelas Balok.
Panjang, lebar, tinggi dan warna balok merepresentasikan variabel kelas (field) dari kelas Balok dan proses menghitung luas permukaan, volume, diagonal sisi dan diagonal ruang merepresentasikan metoda (method) dari kelas Balok. Saat kelas Balok dikonstruksi menjadi obyek balok, Anda dapat memberi atau mengubah nilai variabel kelas serta menghitung luas permukaan, volume, diagonal sisi dan diagonal ruang melalui metoda dari obyek kelas Balok.
Dengan karakteristik tersebut di atas, Anda dapat memodelkan berbagai obyek dalam kehidupan nyata ke obyek-obyek dalam sebuah program aplikasi Java. Kelebihan ini yang menjadikan Java sebagai bahasa pemrograman berorientasi obyek paling mudah. Berikut ini adalah beberapa alasan memilih Java sebagai bahasa pemrograman yang perlu dipelajari dibanding bahasa pemrograman lain:
- Java mudah untuk dipelajari karena memiliki sintaksis yang menyerupai bahasa inggris sehingga mudah dibaca, dipelajari dan dimengerti dengan cepat.
- Java adalah bahasa pemrograman berorientasi obyek. Prinsip dasar dari bahasa Java adalah segala aspek yang ada di dalam program Java dapat dipandang sebagai obyek. Pemahaman mendalam terkait konsep pemrograman berorientasi obyek (OOP) seperti abstraction, encapsulation, polymorphism dan inheritance dipandang sangat perlu.
- Java kaya akan API yang memiliki banyak sekali kelas-kelas yang sudah terdefinisi (Java predefined classes) yang dikelompokkan ke dalam paket-paket (packages). Anda dapat membuat kelas-kelas baru lebih cepat dengan memanfaatkan kelas-kelas yang ada di API Java.
- Java didukung oleh banyak perkakas pengembangan yang terintegrasi seperti Eclipse dan Netbeans. Selain juga dapat menggunakan teks editor sederhana seperti Notepad atau Notepad++, Anda memiliki alternatif menggunakan perkakas gratis ini untuk mengembangkan program Java dengan lebih mudah dan lebih cepat.
- Java didukung oleh komunitas yang siap membantu dan berbagi pengetahuan terkait bahasa pemrograman ini. Komunitas Java siap membantu programer Java dari berbagai tingkatan, mulai dari pemula, tingkat lanjut sampai dengan yang ahli.
- Java itu free (bebas). Anda dapat mengunduh secara gratis versi standard edition (SE), menggunakan dan mengembangkannya tanpa dikenakan biaya.
- Java memiliki dokumentasi yang luar biasa, Javadocs. Dokumentasi ini memberikan informasi yang sangat lengkap dan menyeluruh terkait dengan API Java.
- Java tidak bergantung pada platform (platform-independent). Dengan Java Virtual Machine (JVM), Anda hanya perlu menulis program sekali dan dapat menjalankannya pada platform berbeda seperti sistem operasi Microsoft Windows, OS/2, Macintosh, UNIX dan IBM AS/400.