변수 참조와 객체 참조

hyunwoo·2023년 10월 6일
0

🌳 Java 지식

목록 보기
21/21
private boolean resizeArray() {
        capacity += 10;
        Object[] data2 = new Object[capacity];
        if (data2 == null) return false;
        for (int i = 0; i < capacity - 10; i++) {
            data2[i] = data[i];
        }
        data = data2;
        return true;
    }

data = data2; 의 의미는 배열 data가 배열 data2를 참조하도록 설정한 것이다.

이것은 Java에서 참조 변수의 동작 방식입니다.
Java에서 배열은 객체로 간주됩니다.
따라서 배열 변수는 실제 배열 데이터를 직접 포함하는 것이 아니라 배열 데이터의 메모리 위치를 가리키는 참조를 저장합니다.

따라서 data = data2;를 실행하면 data 변수는 이제 data2 배열을 가리키게 되고, 이전에 data가 가리키던 배열은 더 이상 참조되지 않습니다. 이것은 새로운 배열 data2로의 참조가 이루어진 것이지, 실제 데이터의 복사가 이루어진 것은 아닙니다. 그래서 이후에 data를 통해 배열 요소에 접근하면 실제로는 data2 배열에 접근하는 것이 됩니다.

0개의 댓글