Kelas dan Objek Java: Panduan Praktis
Kelas dan Objek Java
Temukan bagaimana model kelas dan objek Java mengubah konsep dunia nyata menjadi kode yang dapat digunakan ulang.
Java pada dasarnya berorientasi objek. Ini memecahkan masalah kompleks menjadi entitas terkelola dan terpisah—objek—masing-masing dengan state dan behavior.
Sebuah objek bisa menjadi apa pun yang menyimpan data (state) dan menawarkan tindakan (behavior). Misalnya, sebuah sepeda memiliki:
- States: idle, first gear, dll.
- Behaviors: braking, accelerating, dll.
Sebelum kita menyelami objek, mari kita jelajahi blueprint yang mendefinisikannya: sebuah kelas.
Kelas Java
Sebuah kelas adalah templat dari mana objek dibuat. Pikirkan itu sebagai rencana rumah yang menentukan lantai, pintu, dan jendela. Banyak rumah dapat dibangun dari rencana yang sama, sama seperti banyak objek dapat dibuat dari satu kelas.
Membuat Kelas di Java
Definisikan kelas dengan kata kunci class:
class ClassName { // fields // methods }
Fields (variabel) menyimpan state objek, sementara methods mengenkapsulasi behavior.
- Fields menyimpan data.
- Methods melakukan operasi.
Contoh: sebuah kelas Sepeda.
class Sepeda { // state private int gear = 5; // behavior public void braking() { System.out.println("Working of Braking"); } }
Di sini, Sepeda adalah prototipe. Banyak instance sepeda dapat dibuat, masing-masing berbagi struktur yang sama tetapi menyimpan data independen.
Catatan: private dan public adalah access modifiers yang mengontrol visibilitas. Untuk detail lebih lanjut, lihat Java access modifiers.
Objek Java
Sebuah objek adalah instance dari kelas. Misalnya, Sepeda adalah kelas, dan SepedaGunung, SepedaOlahraga, SepedaTur, dll., adalah objek berbeda yang berasal dari kelas tersebut.
Membuat Objek di Java
Buat objek dengan kata kunci new dan konstruktor kelas:
className object = new className(); // Untuk Sepeda Sepeda sepedaOlahraga = new Sepeda(); Sepeda sepedaTur = new Sepeda();
Konstruktor adalah metode khusus yang memiliki nama kelas. Untuk bacaan lebih lanjut, jelajahi Java Constructors.
Nama seperti sepedaOlahraga dan sepedaTur berfungsi sebagai referensi ke instance masing-masing.
Banyak instance dari kelas yang sama dapat coexist tanpa saling mengganggu.
Catatan: Kelas fields dan methods secara kolektif dikenal sebagai members.
Mengakses Members dari Kelas
Gunakan dot operator dengan referensi objek untuk mencapai members-nya:
class Sepeda { int gear = 5; void braking() { // ... } } Sepeda sepedaOlahraga = new Sepeda(); sepedaOlahraga.gear; sepedaOlahraga.braking();
Di sini, sepedaOlahraga mengakses field gear dan memanggil metode braking().
- sepedaOlahraga.gear – membaca nilai gear.
- sepedaOlahraga.braking() – memanggil rutinitas braking.
Di bab selanjutnya, kita akan menjelajahi metode Java secara mendalam.
Di bawah ini adalah contoh lengkap yang mengaitkan konsep-konsep ini bersama-sama.
Contoh: Kelas dan Objek Java
class Lampu { // Melacak apakah lampu menyala boolean isOn; void nyalakan() { isOn = true; System.out.println("Lampu menyala? " + isOn); } void matikan() { isOn = false; System.out.println("Lampu menyala? " + isOn); } } class Main { public static void main(String[] args) { Lampu led = new Lampu(); Lampu halogen = new Lampu(); led.nyalakan(); halogen.matikan(); } }
Output:
Lampu menyala? true Lampu menyala? false
Dalam program ini, Lampu mendefinisikan instance variable isOn dan dua metode yang memanipulasinya. Kelas Main membuat dua objek lampu—led dan halogen—dan memanggil metode mereka secara independen.
Setiap objek memiliki salinan sendiri dari isOn, memastikan operasi pada satu lampu tidak mempengaruhi yang lain.
Contoh: Membuat Objek di Dalam Kelas yang Sama
Objek juga dapat dibuat di dalam kelas yang sama yang mendefinisikannya. Inilah caranya:
class Lampu { boolean isOn; void nyalakan() { isOn = true; System.out.println("Lampu menyala? " + isOn); } public static void main(String[] args) { Lampu led = new Lampu(); led.nyalakan(); } }
Output
Lampu menyala? true
Pola ini berguna untuk demonstrasi kecil atau kelas utilitas di mana logika utama berada di dalam kelas yang sama.