변수는 선언하는 위치에 따라 스코프와 라이프 타임이 달라진다.
자바에서 스코프란 변수가 존재할 수 있는 영역을 의미한다.
중괄호로 한 영역이 생성된다면 그 영역에 관한 스코프를 형성하게 된다.
public static void main(String[] args) {
int a = 1;
int b = 1;
System.out.println(a + b);
add();
}
public static void add() {
int a = 3;
int b = 5;
System.out.println(a + b);
}
위와 같이 각각 다른 메소드에서 같은 이름의 변수를 사용할 수 있다.
자바는 접근 제어자에 따라 스코프가 달라진다.
라이프 타임은 변수가 메모리 영역에 저장되어 있는 시간을 뜻한다.