변수의 생존 범위, Scope
💡변수는 하나의 코드 블록 { } 안에서만 사용 가능하다.
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 > Grammar' 카테고리의 다른 글
[Java] 클래스(Class), 객체(Object), 인스턴스(Instance) (0) | 2025.04.27 |
---|---|
[Java] 배열 (Arrays) (1) | 2025.04.25 |
[Java] 제어 흐름 문 (Control Flow Statements) (2) | 2025.04.22 |
[Java] Checked, Unchecked Exception (0) | 2025.03.25 |
[Java 문법] @Builder (0) | 2025.03.19 |