Lompat ke konten Lompat ke sidebar Lompat ke footer

Object Class Java dan Fungsinya

Object Class ditampilkan dalam java.lang package dalam bahasa pemrograman Java. Setiap class dalam Java secara langsung ataupun tidak langsung adalah derived dari object class. Jika class tidak extend dari class apapun maka secara langsung child class dari object, dan jika extend ke class lainnya maka akan derived secara tidak langsung. Karena itulah, maka method class object tersedia untuk semua class Java. Object class bertindak sebagai akar dari hirarki inheritance dalam program Java apapun.

Beberapa Method dalam Class Object:
  • 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().

Catatan: dimanapun dilakukan percobaan untuk mencetak object referensi, maka secara internal method toString() akan dipanggil.

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 benarMethod 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.

Kegunaan dari Method hashCode(): Nilai return hash digunakan untuk mencari object dalam sebuah koleksi pada Java. JVM menggunakan hashCode method ketika object disimpan ke dalam hashing yang berkaitan dengan struktur data seperti HashSet, HashMap, Hashtable, dan lain sebagainya. Keunggulan utama dari penyimpanan object berbasis hash code adalah proses pencarian yang menjadi lebih mudah.

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.

Contoh:

// 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());} 

}

Output:
Student@64
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 objectHl 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.

Contoh:

// 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());} 

}

Output:
Class dari Object obj adalah : java.lang.String

Catatan: Setelah loading sebuah file .class,  maka JVM akan menciptakan object dari tipe java.lang.Class dalam area HeapObject 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 collectorMethod 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.

Contoh:

// 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");} 

}

Output:
366712642
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.

Artikel ini didedikasikan kepada: Tania Rosa Ristanti, Tasya Mayta Salsabella, Udhkhiyyatun Nisa, Valentinus Dwi Bagus Bramantya, dan Wahyu Aditya Yunanto.

5 komentar untuk "Object Class Java dan Fungsinya"

  1. 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.

    BalasHapus
  2. Apa yang dimaksud dengan kelas object pada bahasa pemrograman berorientasi object?

    BalasHapus
    Balasan
    1. Class 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.

      Hapus
  3. Apa yang dimaksud dengan object pada Java?

    BalasHapus
    Balasan
    1. Object 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.

      Object 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.

      Hapus

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 -