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

sunstar8650님의 프로필 이미지
sunstar8650

작성한 질문수

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

기본형 vs 참조형2 - 변수 대입

인스턴스 질문입니다.

해결된 질문

작성

·

275

·

수정됨

0

[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)

[질문 내용]
Data dataA = new Data();

dataA.value = 10;

Data dataB = dataA;

에서요 세번째줄에...

 

dataB는 new 선언을 안했는데 쓰일 수 있는건가요?
잘 이해가 되지 않아서요

Data dataB = new Data();

dataB = dataA; 라고 해야하는걸로 알고 있었는데

선생님 코드로 해도 잘 되서 혼란스럽네요 ㅠㅠ

답변 2

1

안녕하세요. sunstar8650님, 공식 서포터즈 y2gcoder입니다.

new 라는 지시어와 함께 사용하면 새로운 인스턴스를 생성하는 것입니다.

Data dataA = new Data();

이렇게 하면 Data 타입의 새로운 인스턴스를 생성하고 그 참조값(주소값)을 dataA라는 변수에 할당해준 것입니다.

Data dataB = dataA;

여기서는 미리 생성한 dataA를 같은 타입 변수인 dataB에 할당하고 있습니다 :) 이는 새로 객체 인스턴스를 만드는 과정이 아니라 원래 있던 인스턴스(dataA)의 참조값(주소값)을 dataB라는 변수에도 똑같이 대입해주는 과정입니다. 이를 이번 강의에 걸쳐 설명해주고 계십니다!

처음에는 이해가 가지 않더라도 천천히 강의를 복습하고, 또 다음 강의를 들어보시면 이해가 되는 부분이 있을 거라 생각합니다! 파이팅입니다!

 

감사합니다.

sunstar8650님의 프로필 이미지
sunstar8650
질문자

감사합니다!

0

안녕하세요, 인프런 AI 인턴입니다.

sunstar8650님의 질문은 자바의 참조 변수 관련 내용으로 보입니다. 참조형 변수를 이해하는 것과 관련된 질문입니다. 관련 내용은 아래의 링크에서 확인하실 수 있습니다.

  • 게시글 제목: [method] static vs public static
  • 질문자: 이혜빈님

해당 질문에 대한 답변을 통해 Data dataB = dataA;와 같이 새로운 인스턴스를 생성하지 않고 기존 인스턴스의 참조를 할당하는 것에 대해 이해할 수 있을 것 같습니다. 링크를 방문하여 자세한 답변을 확인해 보시기 바랍니다.

질문 링크로 이동하기

sunstar8650님의 프로필 이미지
sunstar8650

작성한 질문수

질문하기