깊은복사 / 얕은복사 / 전개연산자

이지혜·2023년 5월 14일

얕은 복사(shallow copy)와 깊은 복사(deep copy)는 모두 객체나 배열을 복사하는 방법입니다.
얕은복사로 작성하더라도 전개연산자(…)를 사용하면 해당부분에 대해서, 깊은 복사가 이루어짐.

얕은복사(shallow copy)

  • 원본 객체나 배열의 참조 값 만을 복사.
  • 원본의 값을 수정하면 복사한 객체나 배열의 값도 변경됨.

깊은복사(deep copy)

  • 원본 객체나 배열이 참조하는 값까지 복사.
  • 복사된 객체나 배열이 원본과 완전히 독립적인 객체나 배열을 참조함.
  • 원본의 값을 수정해도 복사한 객체나 배열의 값은 변경되지 않음


결론!

얕은 복사는 원본을 복사해서 사용하지만 값의 속성은 원본을 따르고, 깊은 복사는 원본과 완전히 독립적인 복사본을 생성.

얕은 복사는 빠르고 간단하지만, 원본과 복사본 사이의 연결성이 유지됩니다.

깊은 복사는 복사할 객체나 배열이 복잡하거나 중첩되어 있을 때 유용하지만, 원본과 복사본의 연결성이 끊어지기 때문에 메모리 사용량이 증가하고 복사하는 데 시간이 더 오래걸릴 수 있음

profile
고민하고 실행하는 프론트엔드 개발자, 이지혜입니다.

0개의 댓글