deep clone

728x90

    [Python] Assignment와 Shallow Copy, Deep Copy

    Shallow Copy와 Deep Copy Python에서 assignment를 수행될 때, 오른쪽이 reference (즉 variable이 =연산자 우측에 있음)인 경우 기본적으로 Shallow Copy가 발생한다. 하지만 특정 경우에는 Deep Copy 가 필요한 경우가 있기 때문에 이 둘의 차이를 명확히 알고 있는 것이 중요하다. 이 둘의 차이는 다음 그림이 간략하게 설명해 준다. Shallow copy가 일어났다면 왼쪽의 경우처럼 실제 데이터가 있는 메모리영역 Referenced Object가 공유되고 이를 참조하는 새로운 Cloned Object가 만들어진다. 때문에 실제로는 같은 Object를 가리키고 있기 때문에 Original Object에서 수정이 일어나면 해당 수정사항이 Cloned ..