Scope di Java
Konsep lingkup (scope) merupakan konsep sangat penting berkaitan dengan waktu hidup variable. Lingkup sangat terkait erat dengan blok. Lingkup mengacu pada bagaimana bagian-bagian program berdampak pada waktu hidup variable. Setiap variable yang dideklarasikan di program mempunyai lingkup keberlakuan . Lingkup ditentukan oleh blok
Contoh :
class HellpWorld {
..............
}
Blok kelas sangat penting. Hampir semua keperluan di Java berkaitan dengan kelas atau milik suatu kelas. Metode didefinisikan di kelas yang memiliki metode tersebut. Secara sintaks maupun logik, segala sesuatu di Java berada di dalam suatu kelas tertentu.
Blok berikutnya adalah blok di dalam kelas seperti didefinisikan pada kode didalam metode main(), sebagai berikut :
public static void main(String[] args) {
}
Blok dalam berada/bersarang di dalam blok luar. Setiap variable yang didefinisikan di dalam blok lebih dalam adalah lokal blok itu dan tidak tampak ke blok luar, linkup variable didefiniskan sebagai blok dalam.
Perhatikan contoh berikut :
/*
* Latihan Lingkup dalama Java
* Dibuat tanggal 22 April 2012
*/
package selamatdatang;
/**
*
* @author Muhamad Farhan
*/
public class SelamatDatang {
public static void main(String[] args) {
int intUtama = 10 ;
cetakPesan();
}
public static void cetakPesan(){
String strPesan = "Selamat datang di contoh lingkup dalam Java" ;
System.out.println(strPesan);
}
}
Kelas SelamatDatang berisi dua metode : yaitu main() dan cetakPesan(). Metode main() men-deklarasikan variable integer intUtama lalu memanggil metode cetakPesan(). Metode cetakPesan() adalah metode yang mendeklarasikan variable strPesan lalu mencetak isi dari variable strPesan (isi variable strPesan adalah "Selamat datang di contoh lingkup dalam Java").
Variable intUtama yang di definisikan di main() mempunyai lingkup terbatas di badan metode main(). Badan main () didefinisikan kurung kurawal. Serupa dengan itu varibale strPesan ada didalam lingkup metode cetakPesan(). Pentingnya lingkup adalah kenyataan bahwa variable tidak tampak diluar lingkupnya. Blok kelas SelamatDatang sama sekali tidak mengetahui variable integer intUtama dan variable strPesan. Metode main() tidak mengetahui variable strPesan dan metode cetakPesan() tidak mengetahui variable integer intUtama .



