얕은 복사(Shallow Copy) vs 깊은 복사(Deep Copy)

Feb 26, 2024
얕은 복사(Shallow Copy) vs 깊은 복사(Deep Copy)
 

1. 얕은 복사(Shallow Copy)

 
💡
얕은 복사는 데이터의 주소 값을 복사하는 것을 의미한다. 그렇기 때문에 데이터 변경이 일어나면 원 데이터도 함께 변경된다.
 
 
 
<script> let arr = [1, 2, 3]; arr.push(4); console.log(arr); </script>
 
notion image
 
arr 배열에 4를 추가한다.
 
notion image
 
💡
얕은 복사는 기존 데이터가 변경되기 때문에 데이터의 무결성을 지킬 수 없다. 하지만 데이터의 주소를 복사하기 때문에 메모리 측면에서 유리하다.
 
 

2. 깊은 복사(Deep Copy)

 
💡
깊은 복사는 실제 데이터를 메모리 공간에 복사하는 것을 의미한다. 따라서 깊은 복사는 데이터에 변경이 발생해도 원 데이터는 기존과 동일하게 유지된다.
 
<script> let arr = [1, 2, 3]; console.log(arr); let copyArr = [0, ...arr, 4]; console.log(copyArr); </script>
 
notion image
 
깊은 복사는 기존 데이터가 그대로 유지된다.
 
 
notion image
 
💡
깊은 복사는 원본 객체와 복사본이 독립적으로 이루어져 있어 데이터의 무결성을 지킬 수 있다.
Share article

{CODE-RYU};