깊은 복사는 모든 것을 복제합니다. 컬렉션의 전체 복사본은 원본 컬렉션의 모든 요소가 복제된 두 개의 컬렉션입니다.
Deep Copy는 내부 참조 유형의 완전한 전체 복사본을 만드는 데 사용됩니다.
다시 말해서 깊은 복사는 개체가 참조하는 개체와 함께 복사될 때 발생합니다.
예시
class DeepCopy {
public int a = 10;
}
class Program {
static void Main() {
//Deep Copy
DeepCopy d = new DeepCopy();
d.a = 10;
DeepCopy d1 = new DeepCopy();
d1.a = d.a;
Console.WriteLine("{0} {1}", d1.a, d.a); // 10,10
d1.a = 5;
Console.WriteLine("{0} {1}", d1.a, d.a); //5,10
Console.ReadLine();
}
} 출력
10 10 5 10