Contents
깊은 복사현존하는 모든 그림은 데이터를 기반으로 그림을 그린다.
엔진에다 던지면 prev(이전) next(이후)
엔진이 변경을 감지하는 경우는 이전 데이터가 있는 경우다.
이 엔진을 리엑트라고한다.
전제 조건이 원본 데이터가 불변 해야 된다.
여기서 얘기하는 불변은 메모리 영역 안에서 변경이 불가능하며,
변수에 할당할 때 새로운 값이 만들어져 주소 값이 재 할당 된다는 의미다.
딮 카피 → 깊은 복사(원본 불변 카피)
Animal a = new Animal();
Animal b = new Animal(a);
얕은 복사 → 주소 값 (메모리에 하나만 뜬다.)
Animal a = new Animal();
Animal b = a;
next 데이터 = fiterArr
여기서 prev 데이터 = arr
DELETE
얕은 복사
얕은 복사는 데이터의 주소 값을 복사한다. 그래서 데이터 변경이 이 일어나면 원 데이터도 함께 변경된다.
<script>
let arr = [1, 2, 3];
//배열에 4 추가하기
arr.push(4);
console.log(arr);
</script>


얕은 복사는 기존 데이터가 변경 되기 때문에 데이터의 무결성이 깨진다. 그러나 데이터의 주소를 복사하기 때문에 메모리 관점에서는 유리하다.
깊은 복사
깊은 복사는 실제 데이터를 메모리 공간에 복사하는것을 의미한다. 복사된 데이터에 변경이 발생해도 원본 데이터는 영향을 받지 않는다.
<script>
let arr = [1, 2, 3];
console.log(arr);
let copyArr = [0, ...arr, 4];
console.log(copyArr);
</script>

깊은복사

Share article