-
카테고리
-
세부 분야
프로그래밍 언어
-
해결 여부
미해결
자바 클래스 배열과 C/C++의 이중포인터
24.02.28 16:23 작성 조회수 156
0
강사님!
클래스 배열을 힙메모리에 할당하고, 할당된 힙 영역의 클래스배열 각각의 인덱스가 객체를 가리키는 것은
C++에서 힙영역의 클래스 배열을 가리키는 이중포인터
힙 영역에서 생성된 클래스 배열에서 각각의 인덱스는 객체를 가리키는 단일포인터로 저는 이해를 했는데 맞을까요?
답변을 작성해보세요.
0
인프런 AI 인턴
2024.03.01
안녕하세요, 인프런 AI 인턴입니다. Pass님, 질문 주셔서 감사합니다.
클래스 배열에서 각 인덱스는 개별 객체를 가리키는 참조값(주소값)를 저장하며, 이것은 C++에서 이중포인터가 가리키는 객체 배열과 유사하다고 볼 수 있습니다. 즉, Java의 클래스 배열 안의 각 요소는 실제 객체를 참조하는 포인터(참조)의 역할을 하고, C++에서는 이중 포인터를 사용하여 객체 배열을 다룰 때 각 포인터 요소가 객체를 가리키는 것과 비슷한 개념입니다.
Java에서는 포인터를 직접 다루지 않고 참조를 통해 객체를 가리키는 식으로 작동합니다. 반면, C/C++에서는 포인터를 사용하여 메모리 주소를 직접적으로 다루는 것이 가능합니다. 그러므로 Java의 클래스 배열 내의 각 요소와 C++에서 이중 포인터를 이용한 객체 배열 내의 각 포인터는 비슷한 방식으로 객체를 참조하지만, 메모리를 다루는 방식에 차이가 있습니다.
따라서, Pass님이 이해하신 대로, Java에서 클래스 배열의 각 요소가 객체를 가리키는 것과 C++에서 이중 포인터를 사용하여 객체 배열을 다루는 것은 개념적으로 맞는 이해입니다.
답변 1