자바에서의 변수 사용 범위
변수가 선언된 블럭이 그 변수의 사용범위이다.
public class ValableScopeExam{
int globalScope = 10; //인스턴스 변수
public void scopeTest(int value){
int localScope = 10;
}
}
main메소드에서 사용하기
public class ValableScopeExam{
int globalScope = 10; //인스턴스 변수
public void scopeTest(int value){
int localScope = 10;
}
public static void main(String[] args){
System.out.println(globalScope); //오류
System.out.println(localScope); //오류
System.out.println(value); //오류
}
}
static
public class VariableScopeExam{
int globalScope = 10;
static int staticVal = 7;
public void scopeTest(int value){
int localScope = 20;
}
public static void main(String[] args) {
System.out.println(staticVal); //사용가능
}
}
static한 변수는 공유된다.
valableScopeExam v1 = new ValableScopeExam();
valableScopeExam v2 = new ValableScopeExam();
v1.globalScope = 20;
v2.globalScope = 30;
System.out.println(v1.globalScope); //20 출력
System.out.println(v2.globalScope); //30 출력
v1.staticVal = 10;
v2.staticVal = 20;
System.out.println(v1.staticVal); //20이 출력**
System.out.println(v2.staticVal); //20이 출력**