인프런 커뮤니티 질문&답변

Pass님의 프로필 이미지
Pass

작성한 질문수

김영한의 실전 자바 - 기본편

static 변수2

자바 클래스 배열과 C/C++의 이중포인터

작성

·

282

0

 강사님!

클래스 배열을 힙메모리에 할당하고, 할당된 힙 영역의 클래스배열 각각의 인덱스가 객체를 가리키는 것은

C++에서 힙영역의 클래스 배열을 가리키는 이중포인터

힙 영역에서 생성된 클래스 배열에서 각각의 인덱스는 객체를 가리키는 단일포인터로 저는 이해를 했는데 맞을까요?

답변 1

0

안녕하세요, 인프런 AI 인턴입니다. Pass님, 질문 주셔서 감사합니다.

클래스 배열에서 각 인덱스는 개별 객체를 가리키는 참조값(주소값)를 저장하며, 이것은 C++에서 이중포인터가 가리키는 객체 배열과 유사하다고 볼 수 있습니다. 즉, Java의 클래스 배열 안의 각 요소는 실제 객체를 참조하는 포인터(참조)의 역할을 하고, C++에서는 이중 포인터를 사용하여 객체 배열을 다룰 때 각 포인터 요소가 객체를 가리키는 것과 비슷한 개념입니다.

Java에서는 포인터를 직접 다루지 않고 참조를 통해 객체를 가리키는 식으로 작동합니다. 반면, C/C++에서는 포인터를 사용하여 메모리 주소를 직접적으로 다루는 것이 가능합니다. 그러므로 Java의 클래스 배열 내의 각 요소와 C++에서 이중 포인터를 이용한 객체 배열 내의 각 포인터는 비슷한 방식으로 객체를 참조하지만, 메모리를 다루는 방식에 차이가 있습니다.

따라서, Pass님이 이해하신 대로, Java에서 클래스 배열의 각 요소가 객체를 가리키는 것과 C++에서 이중 포인터를 사용하여 객체 배열을 다루는 것은 개념적으로 맞는 이해입니다.

Pass님의 프로필 이미지
Pass

작성한 질문수

질문하기