public class _07_VariableScope {
public static void methodA () {
System.out.println(number); //다른 영역에서 생성된 number는 메소드 영역에서 사용할 수 없다.
}
public static void meThodB () {
int result = 1;
}
public static void main(String[] args) {
int number = 3;
System.out.println(result); // 메소드 B에서 만든 변수는 다른 곳에서는 사용할 수 없다.
}
}
메인 영역과 메소드 영역이 다르기 때문에 다른 영역에서 생성된 변수 값을 제대로 불러오지 못한다. 여기에서는 number 값과 result 값이 제대로 읽혀오고있지 않은 것을 확인 할 수 있다.
이러한 값들을 지역변수라고 한다. 변수가 생성된 지역 내에서만 사용 가능한 변수를 뜻한다.
public class _07_VariableScope {
public static void methodA () {
//System.out.println(number); //다른 영역에서 생성된 number는 메소드 영역에서 사용할 수 없다. // 지역 변수
}
public static void meThodB () {
int result = 1;
}
public static void main(String[] args) {
int number = 3;
//System.out.println(result); // 메소드 B에서 만든 변수는 다른 곳에서는 사용할 수 없다.
for (int i = 0; i < 5; i++) {
System.out.println(i);
}
// System.out.println(i); // for 문에서 선언된 i 는 for 문 안에서만 나타날 수 있다.
{
int j = 0;
System.out.println(j);
System.out.println(number); // 변수를 둘러싸고 있는 중괄호 안에서는 얼마든지 사용 가능
}
//System.out.println(j); // 변수가 선언된 중괄호 내에서만 사용할 수 있다. 그것이 지역변수
//다른 곳에서 메소드의 변수를 쓰고 싶다면 전달값을 이용해서 메소드를 호출 할때 전달값을 사용해서 전달 할 수 있다.
이처럼 다른 지역에서 선언된 변수를 가져오기 위해서는 전달값을 이용해서 메소드 호출을 통해 그 값을 가져오는 식으로 이용해야 한다. (주석 처리된 곳은 지역 변수가 작동하지 않는 부분이다.)
Java_기초_MethodQuiz (0) | 2024.04.29 |
---|---|
Java_기초_메인메소드 (0) | 2024.04.29 |
Java_기초_WhenToUse (0) | 2024.04.29 |
Java_기초_Overloding (0) | 2024.04.29 |
Java_기초_ParameterAndReturn (0) | 2024.04.29 |