왜냐하면 array4가 가리키는 배열의 0번 인덱스는 그림 21-1에서 ②인 참조 변수 ‘0’을 의미하기 때문입니다. 이 부분은 실제 인덱스 값을 담을 수 있는 부분이 아니라 int형 배열을 가리키는 참조 변수이므로 정숫값을 담을 수 없습니다. 정숫값은 ③에 담는다고 했죠? 따라서 이 구문은 사용할 수 없습니다.
그럼 값을 담으려면 어떻게 해야 할까요? 세 번째 부분, 즉 다음 인덱스까지 지정해줘야 합니다. 참조 변수 ‘0’이 가리키는 1차원 배열 중 1번 인덱스에 10을 넣겠다고 지정하겠습니다.
public class ArrayExam2 {
public static void main(String[] args) {
int[][] array4 = new int[3][4];
array4[0][1] = 10;
}
}
자, 이 코드가 그림 21-1에서 어디를 가리키는지 한번 생각해보세요. 참조 변수 ‘0’의 1차원 배열에서 1번 인덱스이므로 다음 부분에 10을 넣어준다는 의미입니다.
그림 21-2 | array4[0][1]의 위치