깊은 복사와 얕은 복사의 차이, 깊은 복사를 할 수 있는 방법에 대해 정리해보고자 한다. 1. 깊은 복사 vs 얕은 복사 2. 깊은 복사 하는 방법 3. 얕은 복사 하는 방법 깊은 복사 vs 얕은 복사 쉽게 말하자면, 깊은 복사는 객체의 실제 값을 복사 하는 반면, 얕은 복사는 객체의 주소(reference)값을 복사한다. 원시 값(Number, String, Boolean, Null, undefined 등)을 복사 할 때에는 항상 깊은 복사가 되므로, 이 경우 깊은 복사와 얕은 복사를 구분할 필요가 없다. 이 구분이 중요해지는 시점은 참조 자료형(Object, Symbol, Array)을 다룰 때이다. [ 얕은 복사 예시] 얕은 복사는 주소 값만 복사하고, 깊은 복사는 객체의 실제 값을 복사한다고 하였..
deep copy
참조형 데이터 타입을 다루다 보면 접하게 되는 깊은 복사와 얕은 복사에 대해 기본개념, 예시, 활용법까지 모두 다 정리해보자. 1. 기본 개념 깊은 복사(Deep Copy) 데이터 자체를 통째로 복사 한다. 데이터 자체를 통째로 복사 했기에, 새로운 주소를 가진다. 즉, 복사된 두 개의 객체는 서로 독립적인 메모리를 가지게 된다. 기본형 데이터의 경우 깊은 복사가 되지만, 참조형은 일반적으로 그렇지 않다. 얕은 복사(Shallow Copy) 데이터의 주소값만 복사한다. 즉, 복사된 두 개의 객체는 서로 같은 메모리를 가르키고 있다. 2. 예시 위 개념을 통해, 일반적으로는 기본형 타입의 데이터의 경우 깊은 복사가, 참조형 데이터의 경우 얕은 복사가 일어남을 알 수 있었다. 이를 실제 예시를 통해 확실히 ..