public static void ShallowCopy() { Class1 c1 = new Class1(); Class1 c2 = new Class1(); c1 = c2; //얕은복사 같은 주소를 참조하고있기 때문에 서로 같은 값이 됨 c2.SetTest(new Model("같은 값을 가지고 있다.")); Console.WriteLine(c2.GetTest().test); Console.WriteLine(c1.GetTest().test); }
public static void DeepCopy() { Class1 c1 = new Class1(); Class1 c2 = new Class1(); c2 = c1.Clone() as Class1; //깊은복사 c2의 값만 바뀜 c2.SetTest(new Model("다른 값을 넣어볼까?")); Console.WriteLine(c2.GetTest().test); Console.WriteLine(c1.GetTest().test); }