localScope 변수는 ScopeTest라는 메서드 내에서 선언했으니 당연히 사용할 수 있겠죠.
그뿐만 아니라 매개변수로 선언된 value라는 값도 사용하는 데 문제가 없습니다. 매개변수로 사용된 value는 블록 바깥쪽에 있지만, 메서드 선언부에 위치하므로 사용 범위는 해당 메서드 블록 내라고 보면 됩니다.
그러면 이 변수들이 다른 메서드 내에서도 사용할 수 있는지 메서드를 하나 더 정의해 테스트하겠습니다.
package javaStudy; public class VariableScopeExam { int globalScope = 10; public void scopeTest(int value) { int localScope = 20; System.out.println(globalScope); System.out.println(localScope); System.out.println(value); } public void scopeTest2(int value2) { System.out.println(globalScope); System.out.println(localScope); // 컴파일 오류가 발생합니다. System.out.println(value); // 컴파일 오류가 발생합니다. } public static void main(String[] args) { } }