강의

멘토링

로드맵

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

해마님의 프로필 이미지
해마

작성한 질문수

Java TPC (생각하고, 표현하고, 코딩하고)

JVM의 메모리 모델(실습)

Java 에서도 Porinter 라는 개념이 있나요?

해결된 질문

작성

·

900

0

안녕하세요.
메모리 부분 설명해주실 때 Pointer라는 용어를 사용하시던데 Java에 포인터라는 개념이 있나요? Reference를 Pointer라고 하시는 건지 의문이 생겨 질문합니다!
 

퀴즈

자바 가상 머신(JVM)의 주된 역할은 무엇일까요?

자바 소스 코드를 작성한다.

자바 프로그램을 컴파일한다.

자바 바이트코드를 실행한다.

프로그램 실행 중 발생하는 오류를 수정한다.

답변 3

1

박매일님의 프로필 이미지
박매일
지식공유자

네 그렇게 이해하시면 됩니다.

단, C언어에서는  ㆍ 과 -> 로 접근하는 방식이 있는데 이부분은 C언어 영역이라 책을 한번 보시면 좋겠습니다~~

해마님의 프로필 이미지
해마
질문자

답변 감사합니다!! 아주 잘 이해됐어요!! 강의 다 들으면 C도 한번 봐야겠네요!

1

박매일님의 프로필 이미지
박매일
지식공유자

포인터나 레퍼런스나 모두 메모리 번지를 가리키고 있다는 부분에서는 의미는 비슷한데 사용법은 C언어와 Java에서는 조금 다르다고 보시면 좋겠습니다. 일단 자바에서는 

객체를  아래 생성하면

A a=new A();

a를 부르는 이름이 인스턴스변수, 레퍼런스변수,포인터변수 다양하게 부릅니다. 가장많이 부르는 변수는 인스턴스변수라고 합니다.

그리고 A개체 안에 있는 멤버들을 접근할때

a. 이렇게 ㆍ(dot,도트,참조연산자)을 찍고 접근을하게 됩니다. 이런점에서 C언어의 포인터와 비슷하구요^^

 

해마님의 프로필 이미지
해마
질문자

그렇다면 c언어에서는 멤버에 접근하는 방법이 두 가지(포인터, dot)이고, Java는 한 가지(dot)라고 생각하면 되는 걸까요? 그리고 그 한 가지 방식에 접근하는 것을 그냥 pointer라고 같이 묶어서 지칭해주신 거라고 이해하면 되나요?

1

박매일님의 프로필 이미지
박매일
지식공유자

네 레퍼런스를 포인터 개념으로 설명한것입니다. 레퍼런스,참조,포인터 비슷한 개념으로 이해하시고 자바에서는 참조(reference)를 더 많이 사용한다고 보면 되겠습니다.

해마님의 프로필 이미지
해마
질문자

답변 감사합니다! 비슷하다고 하시니 궁금한 게 생기는데, 사용방법이 비슷하다는 의미일까요? 아니면 작동방식이 비슷하다는 것일까요?

해마님의 프로필 이미지
해마

작성한 질문수

질문하기