더북(TheBook)

다음으로 for 블록 안 내용을 작성합니다. iarray.length까지 증가하면서 전에는 값을 넣었다면 이번에는 값을 꺼냅니다. 그리고 꺼낸 값은 계속 더해줍니다. 이 경우 계속 더하면서 그 값을 가져야 할 변수가 필요하겠죠?

 

이때 변수를 어디에 선언해야 할까요? 변수는 선언하는 지점이 어디냐에 따라서 그 변수를 사용할 수 있는 범위가 달라집니다. 이를 변수의 스코프(scope)라고 합니다. 기본적으로 변수를 선언한 지점을 감싼 괄호 안이 변수의 스코프입니다. 변수는 선언할 때 생성했다가 해당 블록이 끝날 때 소멸합니다.

 

다음 코드를 보세요. 앞에서 작성한 1~100까지 값을 넣은 for 문이 있고, 지금 작성한 값을 꺼내려는 for 문이 있습니다. 두 for 문에서 똑같이 변수 i를 사용합니다. 같은 이름으로 선언해도 아무런 문제가 일어나지 않은 이유가 바로 변수의 스코프 때문입니다. i라는 변수는 for 문이 시작할 때 생성했다가 for 문이 끝날 때 없어집니다. 그러므로 또다시 i를 선언해도 문제없던 거죠.

public class ArrayWithFor {
    public static void main(String[] args) {
        int[] iarray = new int[100];

        for(int i = 0; i < iarray.length; i++) {
            iarray[i] = i + 1;
        }    

        for(int i = 0; i < iarray.length; i++) {   
        }           
    }
}
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.