Perbedaan Antara Variabel Instans dan Variabel Lokal

Variabel Instans vs Variabel Lokal

Variabel instan adalah jenis variabel yang hadir dalam pemrograman berorientasi objek. Ini adalah variabel yang didefinisikan dalam kelas, dan setiap objek dari kelas itu memegang 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 (mis. Fungsi, blok loop, dll.) Di mana ia didefinisikan. Karena alasan ini, variabel lokal dikatakan memiliki cakupan lokal.

Apa itu Variabel Instans?

Variabel instan digunakan dalam pemrograman berorientasi objek untuk menyimpan keadaan masing-masing objek dalam suatu kelas. Mereka juga dikenal sebagai variabel anggota atau variabel bidang. Variabel instan dideklarasikan tanpa menggunakan kata kunci statis di Java. Nilai yang disimpan dalam variabel instan unik untuk setiap objek (masing-masing objek memiliki salinan terpisah), dan nilai yang disimpan di dalamnya mewakili keadaan objek itu. Spasi untuk variabel instan dialokasikan di heap, ketika objek itu dialokasikan di heap. Oleh karena itu, variabel instan disimpan dalam memori selama objek tersebut aktif. Misalnya, warna satu mobil tidak tergantung dari warna mobil lain. Jadi warna objek mobil dapat disimpan dalam variabel instan. Dalam praktiknya, variabel instan dideklarasikan di dalam kelas, dan metode luar. Biasanya, variabel instance dideklarasikan sebagai pribadi sehingga, mereka hanya dapat diakses di dalam kelas yang dideklarasikan.

Apa itu Variabel Lokal?

Variabel lokal adalah variabel yang memiliki cakupan lokal, dan mereka dinyatakan dalam blok kode tertentu. Variabel lokal dapat dilihat sebagai variabel yang digunakan oleh metode untuk menyimpan status sementara. Cakupan variabel lokal ditentukan menggunakan lokasi yang dideklarasikan variabel tersebut, dan kata kunci khusus tidak digunakan untuk tujuan ini. Biasanya, akses ke variabel lokal dibatasi dalam blok kode yang dideklarasikan (mis. Antara kawat pembuka dan penutup dari 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 dalam ruang alamat memori yang terpisah. Ketika metode selesai dieksekusi, 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 keadaan suatu objek, sementara variabel lokal dideklarasikan dalam blok kode, dan mereka digunakan untuk menyimpan keadaan suatu metode. Variabel instan aktif selama objek yang berisi variabel itu langsung, sedangkan variabel lokal hidup selama eksekusi metode / blok kode itu. Variabel instan (yang dinyatakan publik) dapat diakses di dalam kelas, sedangkan variabel lokal hanya dapat diakses dalam blok kode yang dideklarasikan. Penggunaan variabel instan hanya terbatas pada pemrograman berorientasi objek, sedangkan variabel lokal tidak memiliki batasan seperti itu.