본문으로 바로가기
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.



지역 변수의 유효범위를 최소화하면 가독성과 유지보수성이 좋아지고 오류 발생 가능성도 줄어든다.

C와 같은 오래된 언어는 지역 변수를 블록 앞부분에 선언한다. 그런 관습은 자바에서도 습관대로 하는데 고칠 필요가 있는 습관이다. 

지역 변수의 유효범위를 최소화하는 가장 강력한 기법은 , 처음으로 사용하는 곳에서 선언하는 것이다.  사용하기 전에 선언하면 프로그램의 의도를 알고자 소스 코드를 읽는 사람만 혼란스럽게할 뿐이다. 지역 변수를 너무 빨리 선언하게 되면 유효 범위가 확장되어 사용하려던 곳 이외에 실수로 사용하게 되면 끔직한 결과를 초래할 수 있다.

거의 모든 지역 변수 선언에는 초기값이 포함되어야 한다. 변수를 초기화하기에 정보가 없다면, 선언을 미뤄야 하는데 try-catch블록에서 예외적 상황이 생길 수 있다. 


loop를 잘 쓰려면 유효범위를 최소화 해야 하는데 while문 보다는 for문을 쓰는 것이 좋다. for문 또는 for-each는 블록{} 안에서 변수를 사용할 수 있지만 while 또는 do while 몸체 외부에서 변수가 선언된다.


1
2
3
4
5
6
7
8
9
10
11
12
13
public class Test {
    public static void main(String[] args) {
        String[] strs = {"ktko""kkt""kyungtae""Ko KyungTae"};
        
        for(int i=0; i < strs.length; i++) {
            System.out.println(strs[i]);
        }
        
        for(String str : strs) {
            System.out.println(str);
        }
    }
}



지역 변수의 유효 범위를 최소화하는 방법은 메서드의 크기를 줄이고 특정한 기능에 집중하라는 것이다. 두 가지 서로 다른 기능을 한 메서드 안에 넣어두면 한 가지 기능을 수행하는 데 필요한 지역 변수의 유효범위가 다른 기능까지 확장되는 문제가 생긴다. 이런 일을 막으려면 각 기능을 나눠서 별도 메서드로 구현해야 한다.