[C#] 얕은 복사(Shallow Copy)와 깊은 복사(Deep Copy) + ICloneable 인터페이스
*이 글은 책을 바탕으로 공부한 글입니다. C#의 클래스 부분을 공부하고 있었다. 어떤 객체지향언어를 배우든 클래스와 생성자란 개념이 나왔고, 이것은 익숙하게 알고 있는 내용이었다. 이번에 정리할 글인 얕은 복사와 깊은 복사 또한 잘 알고 있는 내용이었지만, 복사 생성자를 사용할 일이 나에겐 잘 없었다. 그래서 나중에 막힘없이 사용하기 위해 이렇게 글을 포스팅할까 한다. 그 전에 참고로 알아두면 좋은 지식을 먼저 보자. C#에도 종료자(소멸자)는 존재한다. 나는 C#에 생성자만 존재하고 소멸자는 없는 줄 알았다. 하지만 존재했다. class Monster { ~Monster() // 소멸자 { ... } } 생성자와 다르게 오버로딩이 불가능하고, 매개변수를 받지 않는다는 점까지 C++의 소멸자와 성질이 ..