더북(TheBook)

이 상태에서는 당연히 값을 저장할 수 없겠죠? 앞에서 배운 대로 참조 변수 ‘0’의 1차원 배열에서 0번 인덱스에 10을 넣겠다고 코드를 작성해도 실행하면 오류가 발생합니다.

public class ArrayExam2 {
    public static void main(String[] args) {
        int[][] array5 = new int[3][];
        array5[0][0] = 10;
    }
}

 

실행결과

Exception in thread "main" java.lang.NullPointerException
    at ArrayExam2.main(ArrayExam2.java:6)

 

array5 배열의 참조 변수 ‘0’이 가리키는 1차원 배열이 없기 때문입니다. 따라서 반드시 참조 변수가 가리킬 배열을 만들어줘야 합니다. 한 개짜리 1차원 배열을 만들어보겠습니다.

public class ArrayExam2 {
    public static void main(String[] args) {
        int[][] array5 = new int[3][];
        array5[0] = new int[1];
        array5[0][0] = 10;
    }
}
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.