Dalam dunia pemrograman Java, konsep Kelas (Class) dan Objek (Object) adalah tulang punggung dari paradigma Pemrograman Berorientasi Objek (Object-Oriented Programming/OOP). Kelas bisa diibaratkan sebagai cetak biru (blueprint) atau templat yang mendefinisikan struktur dan perilaku umum suatu entitas. Ia tidak merepresentasikan entitas spesifik, melainkan mendefinisikan apa saja karakteristik (atribut/field) yang dimiliki entitas tersebut dan apa saja tindakan (metode/method) yang bisa dilakukannya. Tanpa kelas, kita tidak bisa membuat objek.
Sebuah Objek adalah wujud nyata atau instance dari sebuah kelas. Jika kelas adalah cetak biru untuk mobil, maka objek adalah mobil itu sendiri — mobil merah dengan plat nomor B 1234 CD, atau mobil biru dengan plat nomor D 5678 EF. Setiap objek yang dibuat dari kelas yang sama akan memiliki atribut yang sama namun dengan nilai yang mungkin berbeda, dan mereka semua dapat melakukan metode yang sama yang telah didefinisikan di kelasnya. Objek adalah entitas mandiri yang menampung data (state) dan memiliki kemampuan untuk berinteraksi (behavior).
Untuk membuat objek dari sebuah kelas, kita menggunakan operator `new`. Misalnya, jika kita memiliki kelas `Mahasiswa`, kita bisa membuat objek `Mahasiswa` dengan `Mahasiswa mhs1 = new Mahasiswa("Budi", "2023001");`. Setelah objek terbentuk, kita bisa mengakses atributnya atau memanggil metodenya menggunakan operator titik (`.`). Pemahaman yang kuat tentang bagaimana mendefinisikan kelas dan menciptakan objek adalah langkah pertama dan paling krusial dalam menguasai Java dan OOP secara keseluruhan, karena hampir semua yang Anda lakukan di Java akan melibatkan manipulasi kelas dan objek.
Konsep ini sangat praktis karena memungkinkan kita untuk memodelkan entitas dunia nyata ke dalam kode program dengan cara yang terstruktur dan mudah dikelola. Setiap entitas (seperti Mahasiswa, Buku, atau RekeningBank) dapat direpresentasikan sebagai sebuah kelas, dengan atribut yang sesuai dan metode yang merepresentasikan tindakan yang bisa dilakukan atau dikenakan pada entitas tersebut. Ini membantu dalam membuat kode yang modular, dapat digunakan kembali, dan lebih mudah dipelihara.
$ public class Mahasiswa {
String nama;
String nim;
public Mahasiswa(String nama, String nim) {
this.nama = nama;
this.nim = nim;
}
public void tampilkanInfo() {
System.out.println("Nama: " + nama + ", NIM: " + nim);
}
}
Meskipun Java sering disebut sebagai bahasa 'purely object-oriented', ada beberapa tipe data primitif seperti `int`, `double`, dan `boolean` yang bukan objek. Namun, Java menyediakan kelas 'wrapper' (misalnya `Integer`, `Double`, `Boolean`) untuk memungkinkan penggunaan tipe data primitif ini sebagai objek jika diperlukan.