Setiap obyek mempunyai identitas berbeda yang dapat dilihat dari data dan metoda yang dimiliki. Data sebuah obyek menggambarkan keadaan (state) dari obyek tersebut, sedangkan metoda menggambarkan aktivitas (behavior) yang dapat dilakukan oleh sebuah obyek. Sebagai contoh, sebuah bidang datar persegi panjang mempunyai data field yaitu panjang dan lebar.
Dari data tersebut, keliling dan luas persegi panjang dapat diketahui dan dihitung menggunakan metoda mencariLuasPP dan mencariKelilingPP. Menghitung keliling dan luas sebuah persegi panjang adalah gambaran aktivitas yang dapat dilakukan oleh persegi panjang. Java menggunakan variabel untuk mendefinisikan data field dan metoda untuk mendefinisikan aktivitas.
Baca artikel
Java juga mempunyai metoda khusus yang disebut konstruktor (constructor) yang digunakan untuk mengkonstruksi atau menyusun obyek dari sebuah kelas. Sebagaimana dengan metoda, konstruktor juga dapat menjalankan aksi. Konstruktor didesain untuk melakukan penginisialisasian data field sebuah obyek.
Contoh program di artikel ini adalah kelas PersegiPanjang yang digunakan untuk membuat obyek persegi panjang. Kelas ini tidak mempunyai metoda main
sehingga tidak dapat dijalankan untuk ditampilkan hasilnya. Kelas PersegiPanjang semata-mata hanyalah definisi yang digunakan untuk mendeklarasikan dan membuat obyek PersegiPanjang.
Sebuah metoda di Java dapat dideklarasikan berulang-ulang dengan nama sama tetapi berbeda dalam jumlah atau tipe parameternya (overloaded method). Konstruktor juga dapat dideklarasikan secara berulang-ulang dengan nama sama tetapi berbeda dalam jumlah atau tipe parameternya (overloaded constructor). Konstruktor sebuah kelas di Java mempermudah dalam mengkonstruksi obyek dengan nilai data awal yang bisa berbeda.
Nama konstruktor harus sama persis dengan nama kelas yang dideklarasikan. Konstruktor tidak mempunyai tipe nilai yang dikembalikan (return type) maupun nilai yang dikembalikan (return value). Berikut ini adalah definisi kelas PersegiPanjang yang dapat digunakan untuk mengkonstruksi atau membuat obyek dari kelas PersegiPanjang.
Di contoh program ini, dideklarasikan dua variabel kelas yaitu panjang dan lebar dengan tipe data double dan nilai awal 1.0. Variabel kelas merupakan data field yang dimiliki kelas PersegiPanjang. Data field juga disebut dengan data member. Kelas PersegiPanjang juga mendeklarasikan dua konstruktor dengan argumen yang berbeda di baris nomor 7 – 8 dan 11 - 14 dan dua buah metoda mencariKelilingPP dan mencariLuasPP di baris nomor 17 – 19 dan 22 - 24.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | class PersegiPanjang { // Data field PersegiPanjang double panjang = 1.0; double lebar = 1.0; // Konstruktor pertama PersegiPanjang() { } // Konstruktor kedua PersegiPanjang(double x, double y) { panjang = x; lebar = y; } // Metoda mencari keliling double mencariKelilingPP() { return 2 * (panjang * lebar); } // Metoda memcari luas double mencariLuasPP() { return panjang * lebar; } } |
Kelas PersegiPanjang adalah user defined class atau kelas yang dibuat oleh programer, bukan kelas yang ada di API Java. Definisi kelas PersegiPanjang ini dapat digunakan untuk mengkonstruksi dan membuat obyek dari kelas PersegiPanjang. Penggunaan kelas PersegiPanjang di program Java dapat dibaca di artikel Mengkonstruksi Atau Membuat Obyek Dari Kelas Java.
Kelas PersegiPanjang mempunyai dua buah variabel kelas yaitu panjang dan lebar dengan tipe data double dan nilai awal 1.0. Variabel kelas adalah data field yang dimiliki oleh kelas PersegiPanjang. Kelas PersegiPanjang juga mendeklarasikan dua konstruktor dengan argumen berbeda yaitu di pernyataan baris nomor 8 - 9 dan 12 - 15 dan dua metoda mencariKelilingPP dan mencariLuasPP yaitu di pernyataan baris nomor 18 - 20 dan 23 - 25.