Java/Grammar

[Java] 변수의 생존 범위 (Scope)

annovation 2025. 4. 24. 09:34

변수의 생존 범위, Scope

💡변수는 하나의 코드 블록 { } 안에서만 사용 가능하다.

  • Java에서는 변수가 선언된 블록 { } 내에서만 접근할 수 있다. 블록이 종료되면 해당 변수는 더 이상 접근할 수 없다. [각주:1]
The scope of a local variable declaration in a block is the rest of the block in which the declaration appears.

Scope가 존재하는 이유

1. 비효율적인 메모리 사용 방지

  • 코드 블럭이 종료될 때 까지 선언된 변수는 메모리 공간을 차지하므로 특정 코드 블럭에서만 사용되는 변수는 불필요하게 메모리를 낭비할 수 있다. [각주:2]
  • 변수를 필요한 범위 내에서만 선언하면, 해당 변수는 블록이 종료될 때 메모리에서 해제되어 메모리 효율성을 높일 수 있다.

✅ 예시 : 불필요하게 광범위한 변수 scope

public class Example {
    public static void main(String[] args) {
        int sum = 0;
        int i; // 변수 i가 루프 외부에 선언되어 전체 메서드에서 유효함

        for (i = 0; i < 10; i++) {
            sum += i;
        }

        System.out.println("Sum: " + sum);
    }
}

 

2. 코드 복잡성 감소

  • 변수의 스코프를 좁게 유지하면, 코드의 가독성과 유지보수성이 향상되며, 예기치 않은 변수의 변경이나 충돌을 방지할 수 있다.

​✅ 예시 : scope 최소화로 인한 코드 간결화

public class Example {
    public static void main(String[] args) {
        int sum = 0;

        for (int i = 0; i < 10; i++) { // 변수 i가 루프 내부에 선언되어 스코프가 제한됨
            sum += i;
        }

        System.out.println("Sum: " + sum);
    }
}

정리

🔎 변수의 scope는 꼭 필요한 범위로 한정해서 사용하는 것이 좋다.


출처

반응형