본문 바로가기

C#

[C#] 객체 복사 : 얕은 복사와 깊은 복사 1


 얕은 복사(Shallow Copy)는 객체가 복사될 때, 시리제 객체가 아닌 스택에 있는 참조를 복사하는 것.

 복사 예시

 


 위의 예시에서 보듯이 test 클래스를 생성하여 값 1,2를 넣고, t2 클래스를 생성 객체를 복사한 결과에 

대한 출력이다. 


 허나, 이에 대하여 주의 할 점은 원본 객체와 사본 객체가 같은 참조를 바라보기 때문에 사본 객체나 원본 객체의

값을 변경하게 되면 얕은 복사된 모든 객체도 영향을 받는다. 


 그 예제는 다음과 같다. 


 


 t.a 의 값을 변경한 결과가 t2에서도 영향을 주는 것을 위의 예제에서도 확인 할 수 있다.