Variabel instance vs variabel lokal
Variabel instan adalah jenis variabel yang ada dalam pemrograman berorientasi objek. Ini adalah variabel yang didefinisikan dalam kelas, dan setiap objek kelas itu memiliki 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 (e.G. fungsi, blok loop, dll.) di mana ia didefinisikan. Karena alasan ini, variabel lokal dikatakan memiliki ruang lingkup lokal.
Apa itu variabel instance?
Variabel instan digunakan dalam pemrograman berorientasi objek untuk menyimpan keadaan setiap objek di kelas. Mereka juga dikenal sebagai variabel anggota atau variabel bidang. Variabel instan dinyatakan tanpa menggunakan kata kunci statis di java. Nilai yang disimpan dalam variabel instan adalah unik untuk setiap objek (setiap objek memiliki salinan terpisah), dan nilai -nilai yang disimpan di dalamnya mewakili keadaan objek itu. Ruang untuk variabel instan dialokasikan dalam tumpukan, ketika objek itu dialokasikan di heap. Oleh karena itu, variabel instan disimpan dalam memori selama objeknya hidup. Misalnya, warna satu mobil independen dari warna mobil lain. Jadi warna objek mobil dapat disimpan dalam variabel instance. Dalam praktiknya, variabel instan dinyatakan di dalam kelas, dan metode luar. Biasanya, variabel instan dinyatakan sebagai pribadi sehingga, mereka hanya dapat diakses di dalam kelas yang dinyatakan.
Apa itu variabel lokal?
Variabel lokal adalah variabel yang memiliki ruang lingkup lokal, dan mereka dinyatakan dalam blok kode tertentu. Variabel lokal dapat dilihat sebagai variabel yang digunakan dengan metode untuk menyimpan keadaan sementara. Lingkup variabel lokal ditentukan dengan menggunakan lokasi yang dinyatakan variabel, dan kata kunci khusus tidak digunakan untuk tujuan ini. Biasanya, akses ke variabel lokal terbatas di dalam blok kode yang dinyatakan (i.e. antara kawat gigi pembukaan dan penutupan blok kode itu). Variabel lokal biasanya disimpan dalam tumpukan panggilan. Ini akan memungkinkan panggilan fungsi rekursif untuk mempertahankan salinan variabel lokal mereka sendiri untuk disimpan dalam ruang alamat memori yang terpisah. Ketika metode menyelesaikan pelaksanaannya, informasi tentang metode itu muncul dari tumpukan panggilan, juga menghancurkan variabel lokal yang disimpan.
Apa perbedaan antara variabel instance dan variabel lokal?
Variabel instan dinyatakan dalam kelas -kelas metode luar, dan mereka menyimpan keadaan suatu objek, sedangkan variabel lokal dinyatakan dalam blok kode, dan mereka digunakan untuk menyimpan keadaan metode. Variabel instan adalah hidup selama objek yang berisi variabel itu hidup, sedangkan variabel lokal secara langsung selama pelaksanaan blok metode/ kode tersebut. Variabel instan (yang dinyatakan publik) dapat diakses di dalam kelas, sedangkan variabel lokal hanya dapat diakses dalam blok kode yang dinyatakannya. Penggunaan variabel instan hanya terbatas pada pemrograman berorientasi objek, sedangkan variabel lokal tidak memiliki batasan seperti itu.