Object Class Java dan Fungsinya
- Metode equals(Object obj): Metode ini digunakan untuk membandingkan dua objek untuk kesamaan. Secara default, metode ini mengimplementasikan perbandingan referensi, tetapi sering kali di-overwrite dalam kelas turunan untuk membandingkan nilai-nilai yang sesuai.
- Metode hashCode(): Metode ini mengembalikan nilai hash code dari objek. Hash code digunakan dalam struktur data seperti tabel hash untuk penyimpanan dan pencarian cepat objek dalam kumpulan data.
- Metode toString(): Metode ini mengembalikan representasi string dari objek. Implementasi default dari metode ini mengembalikan string yang berisi nama kelas dan alamat memori objek, tetapi seringkali di-overwrite untuk memberikan representasi yang lebih bermakna dari objek.
- Metode getClass(): Metode ini mengembalikan objek Class yang mewakili kelas dari objek. Class adalah objek yang merepresentasikan metadata tentang kelas, seperti nama kelas, informasi tipe, dan lain-lain.
- Metode clone(): Metode ini digunakan untuk membuat salinan dangkal (shallow copy) dari objek. Metode ini meng-override implementasi default, dan kelas yang ingin mendukung operasi cloning harus mengimplementasikan antarmuka Cloneable dan meng-override metode clone().
- Metode finalize(): Metode ini dipanggil oleh JVM saat objek tidak lagi memiliki referensi dan akan dihapus oleh garbage collector. Meskipun metode ini jarang digunakan karena tidak dapat diandalkan untuk pengelolaan sumber daya yang penting, namun masih tersedia untuk pemrosesan akhir sebelum penghapusan objek.
- satu, toString(): menyediakan representasi String dari object dan digunakan untuk mengkonversi object ke String. Nilai default method toString() dari return object class sebuah String terdiri dari nama class yang merupakan instance dari object pada tanda '@' dan unsigned hexadecimal dari hash code dari object. Lebih jelas, toString dedefinisikan sebagai berikut:
/* Default behavior dari toString() untuk mencetak class name, kemudian @, kemudian hexadecimal representasi dari hash code dari sebuah object */
public String toString() {return getClass().getName() + "@" + Integer.toHexString(hashCode());}
Salalu disarankan untuk overriding method toString() untuk mendapatkan representasi String dari sebuah object untuk overriding lebih banyak dari method toString().
Student s = new Student();
/* Berikut ini dua Statement yang bernilai sama */
System.out.println(s);
System.out.println(s.toString());
- dua, hashCode(): Untuk setiap object pada Java, maka JVM akan generate sebuah angka unik yang merupakan sebuah hashcode yang akan mengembalikan nilai integer berbeda untuk object yang berbeda. Sebuah kesalahan umum mengenai method ini adalah hashCode() akan mengembalikan nilai adress dari object, dimana hal ini tidaklah benar. Method ini akan mengkonversi internal address dari object dan mengubahnya menjadi integer menggunakan algoritma tertentu. Method hashCode() adalah native karena dalam Java sangat tidak mungkin untuk menemukan alamat dari sebuah object, sehingga digunakan bahasa seperti C/C++ untuk menemukan alamat dari object tersebut.
Catatan: Overriding dari method hashCode() harus diselesaikan untuk setiap object yang di-generate dengan angka unik. Contoh, untuk class Student dapat return roll no. dari student yang berasal dari method hashCode() yang bernilai unik.
// Program Java
// mendemonstrasikan cara
// kerja dari hashCode() dan
// toString().
public class Student
{
static int last_roll = 100;
int roll_no;
/* Constructor */
Student(){
roll_no = last_roll;
last_roll++;}
/* Overriding hashCode() */
@Override
public int hashCode()
{return roll_no;}
/* Driver code */
public static void main(String args[]){
Student s = new Student();
// dua statement berikut ini
// bernilai sama.
System.out.println(s);
System.out.println(s.toString());}
}
Student@64
Catatan: 4*16^0 + 6*16^1=100
- tiga, equals(Object obj): Bandingkan nilai object yang dimiliki dengan nilai object dari 'this' atau posisi object dimana method tersebut dipanggil. Ini memberikan cara umum untuk membandingkan object secara bernilai setara. Cara ini direkomendasikan untuk overriding method equals(Object obj) untuk mendapatkan kesamaan kondisi dari object.
Catatan: Secara umum sangat penting untuk melakukan overriding hashCode() dimanapun method this overriding, tujuannya adalah untuk menjaga kontrak umum dari method hashCode, yang menyatakan bahwa object yang bernilai sama harus memiliki hash code yang bernilai sama pula.
- empat, getClass(): Return dari class object yang berasal dari object 'this' dan digunakan untuk mendapat class runtime actual dari object. Hl juga bisa digunakan untuk mendapatkan metadata dari class this. Nilai return class object adalah object yang terkunci oleh method static synchronized dari class yang ditampilkan. Dan karena final, maka tidak dapat dilakukan overriding.
// Program Java untuk
// mendemonstrasikan cara
// kerja getClass().
public class Test
{
public static void main(String[] args){
Object obj = new String("SusuKudaLiar");
Class c = obj.getClass();
System.out.println("Class"
+" dari Object obj adalah : "
+c.getName());}
}
Catatan: Setelah loading sebuah file .class, maka JVM akan menciptakan object dari tipe java.lang.Class dalam area Heap. Object class ini dapat digunakan untuk mendapatkan informasi level class. Secara luas hal ini digunakan sebagai suatu Repleksi.
- lima, finalize() method: method ini dipanggil sesaat sebelum object menuju ke garbage collector. Method ini dipanggil oleh Garbage Collection bagian dalam ketika garbage collector memutuskan bahwa tidak ada lagi nilai referensi dalam object tersebut. Dapat dilakukan overriding method finalize() untuk membuang sumber daya sistem, melakukan aktivitas cleanup, dan meminimalisasi kebocoran memori. Contohnya sebelum menghancurkan object Servlet web container, selalu dipanggil method finalize untuk melakukan aktivitas sesi clean up.
Catatan: Method finalize dipanggil hanya sekali dalam object meskipun object tersebut berhak untuk mendapatkan garbage collection beberapa kali.
// Program Java
// mendemonstrasikan cara
// kerja finalize().
public class Test
{
public static void main(String[] args){
Test t = new Test();
System.out.println(t.hashCode());
t = null;
// Memanggil garbage collector
System.gc();
System.out.println("e.n.d");}
@Override
protected void finalize()
{System.out.println("Method"
+" finalisasi dipanggil");}
}
e.n.d
Method finalisasi dipanggil
- enam, clone(): mengembalikan nilai new object yang bernilai sama dengan object-nya. Untuk method clone() juga berkaitan dengan Clone().
- tujuh, tersisa tiga method wait(), notify(), dan notifyAll() yang berkaitan dengan kongruensi.
- Penggunaan sebagai Pengingat untuk Metode equals() dan hashCode(): Kelas Object menyediakan implementasi default untuk metode equals() dan hashCode(). Jika kelas ingin mendukung perbandingan dan pencarian berbasis nilai, kelas tersebut harus di-overwrite metode equals() dan hashCode() sesuai dengan kebutuhan aplikasi.
- Mengelola Objek pada Tingkat Dasar: Kelas Object menyediakan fungsionalitas dasar untuk pengelolaan objek, seperti alokasi memori, penghapusan objek yang tidak lagi terpakai, dan lain-lain. Hal ini memungkinkan JVM untuk mengelola objek secara efisien selama siklus hidup aplikasi.
- Interaksi dengan Garbage Collector: Kelas Object berinteraksi dengan garbage collector dalam proses penghapusan objek yang tidak lagi digunakan. Metode finalize() dapat digunakan untuk melakukan pembersihan atau pembebasan sumber daya sebelum objek dihapus oleh garbage collector.
- Representasi Standar Objek: Kelas Object menyediakan representasi standar untuk semua objek dalam Java. Ini termasuk representasi string objek, hash code, kelas objek, dan metode untuk perbandingan objek.
Kesimpulan
- Instance Variabel Hiding Java dan Fungsinya
- Program Block Static Java dan Fungsinya
- Block Inisialisasi Java dan Fungsinya
- Cara Inisialisasi Block Instance Java dan Fungsinya
- Static dan Dynamic Binding Java dan Fungsinya
- Java Bukan Pemrograman Berorientasi Objek Murni dan Alasannya
- Multiple Inheritance Java dan Fungsinya
5 komentar untuk "Object Class Java dan Fungsinya"
Hubungi admin melalui Wa : +62-896-2414-6106
Respon komentar 7 x 24 jam, mohon bersabar jika komentar tidak langsung dipublikasi atau mendapatkan balasan secara langsung.
Bantu admin meningkatkan kualitas blog dengan melaporkan berbagai permasalahan seperti typo, link bermasalah, dan lain sebagainya melalui kolom komentar.
- Ikatlah Ilmu dengan Memostingkannya -
- Big things start from small things -
Object class adalah parent class dari semua class pada Java secara default. Dengan kata lain, object class adalah class Java yang paling atas. Contoh, method getObject() yang mengembalikan object tetapi bisa dari jenis apa pun seperti object karyawan, mahasiswa, dan lain sebagainya, user dapat menggunakan referensi class object untuk merujuk object tersebut.
BalasHapusApa yang dimaksud dengan kelas object pada bahasa pemrograman berorientasi object?
BalasHapusClass object mendefinisikan status dan behavior dasar yang harus dimiliki oleh semua object, seperti kemampuan untuk membandingkan diri sendiri dengan object lain, guna mengkonversinya menjadi bentuk string, menunggu variabel kondisi tertentu yang digunakan untuk memberitahukan object lain bahwa variabel kondisi telah dilakukan perubahan, dan mengembalikan class object.
HapusApa yang dimaksud dengan object pada Java?
BalasHapusObject memiliki status dan perilaku. Contoh: Seekor anjing memiliki suatu kondisi atau keadaan status seperti: warna, nama, ras. Dan perilaku yang dimiliki anjing seperti menggoyangkan ekor, mengonggong, dan makan.
HapusObject merupakan bentuk turunan dari sebuah class pada Java, dimana class dapat didefinsiikan sebagai suatu template atau cetak biru yang menggambarkan perilaku atau keadaan yang didukung oleh object jenisnya dalam bahasa pemrograman Java.