1. 스코프 존재 이유
- 효율적인 메모리 사용을 위해서
- 제한 된 코드 블록안에서 변수를 선언하고 사용하면 메모리 낭비를 줄인다
- 코드 복잡성을 낮출 수 있다(유지보수)
- 제한 된 코드 블록안에서 변수를 선언하고 사용하면, 블록을 벗어난 곳에서는 생각할 필요가 없이 명확하다
public class Scope1 {
public static void main(String[] args) {
int m = 10; //m 생존 시작
if (true) {
int x = 20; //x 생존 시작
System.out.println("if m = " + m); //블록 내부에서 블록 외부는 접근 가능 System.out.println("if x = " + x);
} //x 생존 종료
//System.out.println("main x = " + x); //오류, 변수 x에 접근 불가
System.out.println("main m = " + m);
} //m 생존 종료
2. 변수의 스코프 사용 방법
- 변수는 꼭 필요한 범위로 한정해서 사용하는 것이 좋다
3. 좋은 프로그램은 제약!
- 좋은 프로그램은 무한한 자유가 있는 프로그램이 아니라 적절한 제약이 있는 프로그램이다
- 무한한 자유가 있으면 무한한 버그가 생긴다