📌 면접 답변
얕은 복사
- 객체의 주소를 복사하는 방식
- 원본과 복사본이 같은 메모리 주소를 공유 (내부 객체 공유)
- 한쪽 값을 변경하면 다른 쪽도 영향을 받음
깊은 복사
- 객체뿐만 아니라 내부에 있는 참조된 객체까지 모두 새로운 메모리 공간 할당
- 내부 객체도 독립적
- 복사본을 변경해도 원본 객체에는 영향을 주지 않음
📌 내 답변
얕은 복사 같은 경우, 주소까지 가져오는게 아니라 해당 주소가 가르키는 값만 가져온다.
하지만 깊은 복사 같은 경우, 주소와 값 모두 가져오는데,
이로 인해 복사해온 값이 변경되면 깊은 복사한 값도 해당 값의 주소를 가르키기 때문에 같이 값이 변하게 된다.
얕은 복사와 깊은 복사에 대해 반대로 알고 있었다.
그리고 복사는 주소와 값만을 복사하는 줄 알았다...
얕은 복사하면 대충 복사한 느낌이 났고, 값만 복사하는 줄 알았다.
하지만 이런 느낌이 아니라, 얕은 복사는 원본 객체 내부의 참조 주소를 복사하는 것이다.
따라서 새로운 객체를 만들지만, 내부 객체를 공유해서 얕은 복사인 것이다.
반면에 깊은 복사는 새로운 메모리에 참조 객체 모두를 복사하는 것이다.
따라서 새로운 객체를 만들고, 그 내부 객체까지 독립적이다.
이렇게 보면 깊은 복사가 더 깊게 들어간 느낌 아닌가 ?!
그래서 깊은 복사가 "깊은" 복사인 것 같다.
매일메일 - 기술 면접 질문 구독 서비스
기술 면접 질문을 매일매일 메일로 보내드릴게요!
www.maeil-mail.kr
매일 메일의 면접 질문 정리
'😀 Jerry > 면접 질문' 카테고리의 다른 글
[1분 면접] SSR과 CSR 차이점 (0) | 2025.03.04 |
---|---|
[1분 면접] (Connection, Socket, Read) Timeout 차이점 (0) | 2025.02.28 |
[1분 면접] 포워드 프록시와 리버스 프록시의 차이점 (0) | 2025.02.26 |
[1분 면접] CORS란 ? (1) | 2025.02.25 |
[1분 면접] MySQL InnoDB에서 갭락과 넥스트 키 락이 무엇이고, 어떻게 팬텀 리드를 방지하나요? (0) | 2025.02.24 |