[C#] 얕은(Shallow) 복사와 깊은(Deep) 복사 이해하기


[C#] 얕은(Shallow) 복사와 깊은(Deep) 복사 이해하기

지난 포스팅에서 이어서 설명한다고 했던 깊은 복사에 대해 다루려고 한다. 깊은 복사에 대해 이야기하면 필연적으로 얕은 복사와 함께 이야기하는데, 얕은 복사와 깊은 복사를 비교해 보며 알아보자. 정의 정의적인 부분부터 살펴보자. 얕은 복사 복사하려는 원본에 대한 새로운 객체(복사본)를 생성하는데, 이 객체는 원본 객체를 참조한다. 즉, 생성된 복사본은 원본 객체가 가리키는 주소와 같은 곳을 가리키게 된다. 그렇기 때문에 복사본은 원본 객체에 종속적이다. 이는 주소에 의한 참조랑 비슷한 의미로 생각해도 된다. 깊은 복사 얕은 복사와 같이 원본에 대한 복사본을 생성하는데, 인스턴스화할 수 있는 모든 요소(내부의 클래스 변수, 메서드, 인스턴스 값 등)를 모조리 복사한다. 그렇게 하여 원본 객체로부터 완전히 독..


원문링크 : [C#] 얕은(Shallow) 복사와 깊은(Deep) 복사 이해하기