변수의 생존 범위, 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는 꼭 필요한 범위로 한정해서 사용하는 것이 좋다.
출처
'Java > [인프런] 자바 입문' 카테고리의 다른 글
| [Java] 변수(Variables) 헷갈리는 문법 정리 (0) | 2026.02.01 |
|---|---|
| [Java] GC(Garbage Collection) (0) | 2025.04.26 |
| [Java] 배열 (Arrays) (1) | 2025.04.25 |
| [Java] 제어 흐름 문 (Control Flow Statements) (2) | 2025.04.22 |
| [Java] 변수(Variables) (1) | 2025.04.21 |