[내배캠] 면접 질문 모음 16~17

Sungchan Ahn(안성찬)·2024년 12월 12일

내일배움캠프

목록 보기
81/104
  1. 얕은 복사와 깊은 복사의 차이점은 무엇인가요?

    얕은 복사의 경우, 객체의 복사본이 원본 객체가 참조하는 다른 객체의 참조만 복사한다. 따라서 원본 객체의 참조 멤버와 복사본의 참조 맴버는 동일한 메모리 주소를 공유하기 때문에 한 쪽에서 바뀌면 다른 쪽에서도 반영된다.
    깊은 복사의 경우, 객체의 모든 속성과 참조하는 객체들까지도 완전히 복사하여 새로운 메모리 공간에 저장한다. 따라서 원본 객체와 복사본이 서로 독립적이다. 깊은 복사는 수동으로 복사하거나 직렬화와 역직렬화를 이용하는 방법이 있다.

  2. 박싱과 언박싱이 일어나는 과정을 메모리 관점에서 설명해주세요.

    박싱 : 스택 메모리에 존재하는 값 형식을 참조 형식으로 변환
    언박싱 : 박싱된 참조 형식을 다시 값 형식으로 변환
    박싱의 경우, 힙 영역에 새로운 메모리를 할당하여 스택에 존재하는 값을 복사한다. 힙 영역에 새로 만들어진 메모리 주소 값을 스택에 저장한다.
    언박싱의 경우 : 박싱과 반대 과정
    힙 메모리에 저장된 값을 복사해 스택 메모리에 새롭게 할당한다.

profile
게임 개발 기록

0개의 댓글