Pada kesempatan kali ini saya
akan berbagi tentang Definisi dari Class dan Object pada Java, sebagai berikut
:
Kelas dapat didefinisikan sebagai
cetak biru (blueprint) atau prototipe/ kerangka yang mendefinisikan
variabel-variabel (data) dan method-
method (perilaku) umum dari sebuah objek tertentu.
Kelas digunakan untuk
mendeklarasikan sebuah variabel yang berupa objek, dan sering disebut dengan referensi
objek (objek reference).
Apa Itu Kelas ?
Sebagai contoh objek mobil.
Attribute (State) -> Variable(Member):
Ban, Stir, PedalRem, PedalGas, Warna,
Tahun Produksi dll.
Behavior -> Method (Fungsi):
Cara menghidupkan mesin,
Cara Menjalankan Mobil,
Cara Memundurkan mobil.
Apa itu Objek
Perlu diperhatikan bahwa kelas masih bersifat abstrak. Dengan kata lain kelas adalah pola (template) untuk pembuatan objek, dan objek adalah wujud nyata (instance) dari sebuah kelas.
Perbedaan Kelas dan Objek
·
Kelas adalah konsep dan deskripsi dari
sesuatu
·
Objek adalah wujud nyata (instance) dari kelas
·
Kelas: mobil
·
Objek mobil
pak joko, mobilku dll.
·
Kelas seperti cetakan kue, dimana kue yang dihasilkan dari cetakan kue itu adalah
objek.
·
Warna kue bisa bermacam-macam meskipun berasal
dari cetakan yang sama (objek memiliki sifat
independen).
Mendefinisikan Kelas
Data atau variabel yang
didefinisikan di dalam sebuah kelas sering pula disebut dengan instance variable.
Nilai dari data-data tersebut
selanjutnya akan diakses melalui method- method yang ada.
Dengan demikian, method sebenarnya
digunakan sebagai antar muka (interface) antara user (pemakai kelas) dan
data-data yang terdapat di dalam kelas bersangkutan.
Data dan method yang tergabung
dalam suatu kelas sering dinamakan dengan class members (anggota-anggota kelas).
Perlu sekali untuk diketahui
bahwa setiap objek atau instance dari suatu kelas akan memiliki salinan data sendiri-sendiri.
Ini artinya, antara objek yang satu dengan yang lainnya, nilai data- datanya bisa
saja berbeda.
Contoh :
package demokotak;
class Kotak {
double panjang;
double lebar;
double tinggi;
}
public class DemoKotak {
public static void main (String[]
args) {
double volume1, volume2;
Kotak k1 = new Kotak(); // mendeklarasikan objek k1
Kotak k2 = new Kotak(); // mendeklarasikan objek k2
// Mengisikan nilai ke dalam
objek k1
k1.panjang = 4;
k1.lebar = 3;
k1.tinggi = 2;
// Mengisikan nilai ke dalam
objek k2
k2.panjang = 6;
k2.lebar = 5;
k2.tinggi = 4;
// Menghitung isi/volume dari
objek k1
volume1 = k1.panjang * k1.tinggi
* k1.lebar;
// Menghitung isi/volume dari
objek k2
volume2 = k2.panjang * k2.tinggi
* k2.lebar;
// Menampilkan nilai volume k1
dan k2 ke layar monitor
System.out.println("Volume
k1 = " + volume1);
System.out.println("Volume
k2 = " + volume2);
}
}
Hasilnya:
Volume k1 = 24.0
Volume k2 = 120.0
Tampak pada kode diatas bahwa objek
k1 dan k2 adalah interface atau wujud nyata dari kelas Kotak. Nilai dari
data-data yang terdapat pada kedua objek tersebut dapat berbeda-beda sehingga nilai
volume yang dihasilkanpun akan berbeda.
Mendeklarasikan Objek
Pada saat kita mendefinisikan
suatu kelas, kita hanya membuat tipe data baru, bukan membuat objek baru.
Untuk membuat objek baru dari
tipe kelas yang telah didefinisikan, secara eksplisit kita perlu melakukan dua tahap.
Pertama, kita perlu mendeklarasikan variabel yang digunakan sebagai
referensi ke objek dari kelas bersangkutan.
Kedua, kita perlu menginstansiasi kelas dengan menggunakan operator
new dan memasukkan instance-nya ke dalam variabel referensi yang baru saja dideklarasikan.
Contoh :
package demoreferensi1;
class Kotak {
double panjang;
double lebar;
double tinggi;
}
public class DemoReferensi1 {
public static void main(String[]
args) {
double volume1, volume2;
Kotak k1, k2;
k1 = new Kotak();
k2 = k1;
// Mengisikan nilai ke dalam
objek k1
k1.panjang = 4;
k1.lebar = 3;
k1.tinggi = 2;
// Menghitung isi/volume dari
objek k1
volume1 = k1.panjang * k1.tinggi
* k1.lebar;
// Menghitung isi/volume dari
objek k2
volume2 = k2.panjang * k2.tinggi
* k2.lebar;
// Menampilkan nilai volume k1
dan k2 ke layar monitor
System.out.println("Volume
k1 = " + volume1);
System.out.println("Volume
k2 = " + volume2);
}
}
Tampak jelas pada kode di atas
bahwa kita hanya memasukkan nilai untuk objek k1, namun pada saat kita
memanggil nilai dari volume2, hasil yang diberikan adalah sama seperti nilai
yang dihasilkan oleh volume1. Hal ini disebabkan karena k1 dan k2 sebenarnya
menunjuk ke objek yang sama.
Hasilnya :
Volume k1 = 24.0
Volume k2 = 24.0
Sebagai catatan penting, meskipun
keduanya menunjuk objek yang sama, akan tetapi tidak terdapat hubungan antar avariabel
k1 dan k2. Artinya, kita bisa saja melepas salah satu variabel tersebut untuk
menunjuk ke objek lain, tanpa berpengaruh terhadap variabel laninnya.
Demikianlah definisi sederhana
mengenai Kelas dan Objek pada Java, semoga bermanfaat bagi kita semua.
0 komentar:
Posting Komentar