Variabel Instance vs Variabel Lokal
Sebuah variabel instan adalah jenis variabel yang ada dalam pemrograman berorientasi objek. Ini adalah variabel yang didefinisikan dalam kelas, dan setiap objek dari kelas itu menyimpan salinan terpisah dari variabel itu. Di sisi lain, penggunaan variabel lokal tidak terbatas pada bahasa pemrograman berorientasi objek. Ini adalah variabel yang dapat dinilai hanya dalam blok kode tertentu (misalnya fungsi, blok loop, dll.) di mana ia didefinisikan. Karena alasan ini, variabel lokal dikatakan memiliki lingkup lokal.
Apa itu Variabel Instance?
Variabel instance digunakan dalam pemrograman berorientasi objek untuk menyimpan status setiap objek dalam sebuah kelas. Mereka juga dikenal sebagai variabel anggota atau variabel lapangan. Variabel instan dideklarasikan tanpa menggunakan kata kunci static di Java. Nilai yang disimpan dalam variabel instan adalah unik untuk setiap objek (setiap objek memiliki salinan terpisah), dan nilai yang disimpan di dalamnya mewakili status objek tersebut. Ruang untuk variabel instan dialokasikan di heap, ketika objek tersebut dialokasikan di heap. Oleh karena itu, variabel instan disimpan dalam memori selama objek hidup. Misalnya, warna satu mobil tidak tergantung pada warna mobil lain. Jadi warna objek mobil dapat disimpan dalam variabel instan. Dalam praktiknya, variabel instan dideklarasikan di dalam kelas, dan di luar metode. Biasanya, variabel instan dideklarasikan sebagai pribadi sehingga hanya dapat diakses di dalam kelas yang dideklarasikan.
Apa itu Variabel Lokal?
Variabel lokal adalah variabel yang memiliki cakupan lokal, dan dideklarasikan dalam blok kode tertentu. Variabel lokal dapat dilihat sebagai variabel yang digunakan oleh suatu metode untuk menyimpan status sementaranya. Lingkup variabel lokal ditentukan menggunakan lokasi variabel dideklarasikan, dan kata kunci khusus tidak digunakan untuk tujuan ini. Biasanya, akses ke variabel lokal dibatasi di dalam blok kode yang dideklarasikan (yaitu antara kurung kurawal buka dan tutup blok kode itu). Variabel lokal biasanya disimpan di tumpukan panggilan. Ini akan memungkinkan panggilan fungsi rekursif untuk mempertahankan salinan variabel lokal mereka sendiri untuk disimpan di ruang alamat memori yang terpisah. Ketika metode menyelesaikan eksekusinya, informasi tentang metode itu muncul dari tumpukan panggilan, juga menghancurkan variabel lokal yang disimpan.
Apa perbedaan antara Variabel Instance dan Variabel Lokal?
Variabel instance dideklarasikan di dalam kelas di luar metode, dan mereka menyimpan status objek, sementara variabel lokal dideklarasikan di dalam blok kode, dan digunakan untuk menyimpan status metode. Variabel instan hidup selama objek yang berisi variabel itu aktif, sedangkan variabel lokal aktif selama eksekusi blok metode/kode itu. Variabel instan (yang dideklarasikan publik) dapat diakses di dalam kelas, sedangkan variabel lokal hanya dapat diakses di dalam blok kode yang dideklarasikan. Penggunaan variabel instan hanya terbatas pada pemrograman berorientasi objek, sedangkan variabel lokal tidak memiliki batasan tersebut.