Obyek vs Instance
Pemrograman Berorientasi Objek (OOP) adalah salah satu paradigma pemrograman yang paling populer. Dalam OOP, fokusnya adalah pada pemikiran tentang masalah yang harus diselesaikan dalam hal elemen dunia nyata dan mewakili masalah dalam hal objek dan perilaku mereka. Banyak bahasa pemrograman yang mendukung aspek kunci OOP (disebut bahasa OOP) memiliki kelas sebagai alat pemrograman utama. Mereka disebut berbasis kelas. Kelas adalah representasi abstrak dari objek dunia nyata. Kelas memiliki properti yang disebut atribut. Atribut diimplementasikan sebagai variabel global dan instance. Metode dalam kelas mewakili atau mendefinisikan perilaku kelas ini. Metode dan atribut kelas disebut anggota kelas. Dalam istilah yang sangat sederhana, kelas adalah cetak biru atau templat untuk objek kehidupan nyata tertentu. Jadi, objek adalah blok memori yang digunakan untuk menyimpan informasi yang diperlukan sesuai cetak biru ini. Instance adalah blok memori yang merujuk objek.
Apa itu Obyek??
Objek adalah hasil dari instantiating kelas. Instansiasi adalah proses mengambil cetak biru dan mendefinisikan setiap atribut dan perilaku sehingga objek yang dihasilkan benar-benar mewakili objek kehidupan nyata. Objek adalah blok memori khusus dan berkelanjutan yang dialokasikan untuk menyimpan informasi seperti variabel, metode atau fungsi, dll. Objek dibuat dengan menggunakan operator baru, dalam bahasa pemrograman Java. Misalnya, jika ada kelas yang disebut Mobil, maka berikut ini dapat digunakan untuk membuat objek dari kelas Mobil.
mobil baru();
Di sini, objek Mobil dibuat oleh operator baru dan referensi ke objek dikembalikan. Operator baru bersama dengan konstruktor kelas Car digunakan untuk membuat objek baru. Rentang hidup objek dimulai dari panggilan ke konstruktornya hingga waktu dihancurkan. Setelah suatu objek tidak dirujuk, itu akan dihapus / dihancurkan oleh pengumpul sampah.
Apa itu Instance??
Instance adalah blok memori, yang berisi referensi ke suatu objek. Dengan kata lain, Mesin Virtual akan menyimpan alamat blok memori awal tempat objek disimpan. Sebenarnya, nama instance dapat digunakan untuk mengakses awal dari area memori objek. Offset dari memori awal dihitung oleh mesin runtime sehingga kita bisa pergi ke tempat masing-masing data atau referensi metode disimpan. Kode Java berikut yang terpotong dapat digunakan untuk membuat turunan objek Mobil.
Car myCar = Mobil baru ();
Seperti disebutkan di atas, operator baru menciptakan objek Mobil dan mengembalikan referensi ke sana. Referensi ini disimpan dalam variabel tipe Mobil myCar. Jadi, myCar adalah turunan dari objek Mobil yang dibuat.
Apa perbedaan antara Obyek dan Mesin Virtual?
Objek adalah blok memori yang berdekatan yang menyimpan informasi aktual yang membedakan objek ini dari objek lain, sementara instance adalah referensi ke objek. Ini adalah blok memori, yang menunjuk ke alamat menatap tempat objek disimpan. Dua contoh dapat merujuk ke objek yang sama. Rentang hidup suatu objek dan sebuah instance tidak terkait. Karenanya sebuah instance dapat menjadi null. Setelah semua instance yang menunjuk ke suatu objek dihapus, objek tersebut akan dihancurkan.