상세 컨텐츠

본문 제목

Java_기초_VariableScope

Java_기초

by 위한신 2024. 4. 29. 18:24

본문

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_기초' 카테고리의 다른 글

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

관련글 더보기