Shallow Copy & Deep Copy

효딩딩·2022년 8월 22일
0

깊은 복사(Deep Copy)는 '실제 값'을 새로운 메모리 공간에 복사하는 것을 의미함.

  • 데이터 자체를 통째로 복사한다.
  • 복사된 두 객체는 완전히 독립적인 메모리를 차지한다.
  • value type의 객체들은 깊은 복사를 하게 된다.

얕은 복사(Shallow Copy)는 '주소 값'을 복사한다는 의미입니다.

  • 얕은 복사는 아주 최소한만 복사를 한다. 값을 복사한다 하더라도, 인스턴스가 메모리에 새로 생성되지 않는다. 값 자체를 복사하는 것이 아니라 주소값을 복사하여 같은 메모리를 가리키기 때문이다.
  • 새로운 인스턴스를 생성하지 않기 때문에 깊은 복사보다 상대적으로 빠르다. reference type을 복사하는 경우 얕은 복사가 일어난다.

출처:
https://roseline.oopy.io/dev/javascript-back-to-the-basic/shallow-copy-deep-copy
https://velog.io/@ellyheetov/Shallow-Copy-VS-Deep-Copy


(영문 해석)

Shallow Copy: Shallow repetition is quicker.

  • However, it’s “lazy” it handles pointers and references. Rather than creating a contemporary copy of the particular knowledge the pointer points to, it simply copies over the pointer price. So, each the first and therefore the copy can have pointers that reference constant underlying knowledge.

Deep Copy: Deep repetition truly clones the underlying data.

  • It is not shared between the first and therefore the copy.

Source:
https://www.geeksforgeeks.org/difference-between-shallow-and-deep-copy-of-a-class/

profile
어제보다 나은 나의 코딩지식

0개의 댓글