작성
·
216
0
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예/아니오)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)
[질문 내용]
여기에 질문 내용을 남겨주세요.
제가 코드를 사진과 같이 작성하다가 궁금한점이 생겨서 질문드립니다.
위 코드는 참조값이 다른 객체a,b가 메모리에 생성된거 잖아요?
그리고 a객체의 참조값에 b객체의 참조값을 복사해서 대입된상태고요 그러면 여기서 a객체의 참조값이 더이상 사용되지 않으니까 가비지컬렉션이 일어나면서 사진부분에 new Address부분이 어둡게 변하는건가요?
답변 1
0
안녕하세요. 명석님, 공식 서포터즈 y2gcoder입니다.
말씀해주신 코드를 컴파일 후 실행하면 런타임 시에는 말씀하신 대로 작동할 것 같습니다!
지금 회색 처리된 부분은 IDE가 봤을 때, Address a = new Address("서울");
라고 초기화한 후 다른 곳에 쓰여지는 일 없이 b의 참조값에 의해 바로 덮어씌워졌기 때문에 필요없는 코드 작성 부분이라고 판단하여 알려주는 것이라 이해해주십쇼! 컴파일 전에 IDE가 코드를 분석해서 필요없는 부분을 알려주는 편의 기능 중 하나라고 생각해주시면 감사하겠습니다! 이는 참조형 뿐만 아니라 기본형을 사용해도 똑같습니다!
감사합니다.