Variabel instance, variabel class, dan variabel lokal
- Variabel pada bahasa pemrograman Java
- Aturan penamaan dalam bahasa pemrograman Java
- Operator pada bahasa pemrograman Java
- Memahami operator modulus (%)
- Perulangan menggunakan for pada bahasa pemrograman Java
- Perulangan menggunakan while pada bahasa pemrograman Java
- Array pada bahasa pemrograman Java
- Method pada bahasa pemrograman Java
- Variabel instance, variabel class, dan variabel lokal
Berdasarkan posisi dan jenis deklarasinya, variabel dapat dibedakan menjadi tiga jenis yakni variabel instance, variabel class dan variabel lokal.
Variabel instance merupakan variabel yang menjadi milik objek yang merupakan instance dari class tertentu. Ini berarti bahwa setiap objek dari class tersebut dapat memiliki nilai variabel instance yang berbeda.
Variabel class di sisi lain adalah milik class yang bersangkutan. Ini berarti bahwa setiap objek dari class tersebut akan berbagi nilai variabel class yang sama. Untuk mendeklarasikan variabel class, ditambahkan modifier static sebelum tipe data. Variabel ini dapat digunakan untuk mendeklarasikan konstanta.
Variabel lokal adalah variabel yang digunakan di dalam blok method atau constructor. Variabel ini tidak dapat digunakan di tempat lain selain pada method atau constructor yang mengandung variabel tersebut.
Perhatikan contoh pada kode berikut
class Lingkaran { final static double PI=3.14; // variabel class double jarijari; // variabel instance Lingkaran(double r) { jarijari = r; // r variabel lokal } double getKeliling(){ double keliling; // variabel lokal keliling = 2 * jarijari * PI; return keliling; } double getLuas(){ double luas; // variabel lokal luas = PI * jarijari * jarijari; return luas; } }
Pada contoh kode class Lingkaran di atas yang merupakan variabel class adalah ‘jarijari’. Artinya, misalkan terdapat dua objek Lingkaran a dan b, nilai ‘jarijari’ a dan b dapat berbeda.
Contoh variabel instance pada kode di atas adalah ‘PI’. Artinya, misalkan terdapat dua objek Lingkaran a dan b, nilai PI tetap sama.
Pada contoh kode class Lingkaran di atas, terdapat dua method yakni getKeliling() dan getLuas(). Pada method getKeliling() terdapat variabel lokal ‘keliling’ sedangkan pada variabel lokal pada method getLuas() adalah ‘luas’. Pada constructor juga terdapat variabel r yang dikirim sebagai argumen. Variabel r juga memiliki scope lokal.
Untuk lebih jelasnya silahkan jalankan kode berikut.
Semoga bermanfaat,
Salam