Gaya Hidup

Variabel Instance dan Variabel Lokal apakah mereka sama?

Pengantar Variabel Instance dan Variabel Lokal

Variabel instan merupakan jenis variabel yang ada dalam pemrograman berorientasi objek.

Ini adalah variabel yang didefinisikan dalam kelas, dan setiap objek dari kelas tersebut menyimpan salinan terpisah dari variabel tersebut.

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 cakupan lokal.

Apa itu Variabel Instance?

Variabel instan digunakan dalam pemrograman berorientasi objek untuk menyimpan status setiap objek di kelas.

Mereka juga dikenal sebagai variabel anggota atau variabel lapangan.

Variabel instan dideklarasikan tanpa menggunakan kata kunci statis di Java.

Nilai yang disimpan dalam variabel instan bersifat unik untuk setiap objek (setiap objek memiliki salinan terpisah), dan nilai yang disimpan di dalamnya mewakili keadaan objek tersebut.

Ruang untuk variabel instan dialokasikan di heap, saat objek tersebut dialokasikan di heap.

Oleh karena itu, variabel instan disimpan dalam memori selama objek masih hidup.

Misalnya, warna satu mobil tidak bergantung 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 private 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 keadaan sementaranya.

Lingkup variabel lokal ditentukan menggunakan lokasi variabel tersebut dideklarasikan, dan kata kunci khusus tidak digunakan untuk tujuan ini.

Biasanya, akses ke variabel lokal dibatasi dalam blok kode yang dideklarasikan (yaitu antara kurung kurawal buka dan tutup blok kode tersebut).

Variabel lokal biasanya disimpan dalam tumpukan panggilan.

Ini akan memungkinkan pemanggilan fungsi rekursif untuk mempertahankan salinan mereka sendiri dari variabel lokal untuk disimpan di ruang alamat memori yang terpisah.

Saat metode menyelesaikan eksekusinya, informasi tentang metode tersebut muncul dari tumpukan panggilan, juga menghancurkan variabel lokal yang disimpan.

Apa perbedaan antara Variabel Instance dan Variabel Lokal?

Variabel instan dideklarasikan di dalam kelas di luar metode, dan mereka menyimpan status objek, sedangkan variabel lokal dideklarasikan di dalam blok kode, dan digunakan untuk menyimpan status suatu metode.

Variabel instan hidup selama objek yang berisi variabel itu hidup, sementara variabel lokal hidup 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 seperti itu.