깊은 복사와 얕은 복사 객체는 다른 객체를 참조할 수 있는데 이럴 경우에 깊은 복사인가, 얕은 복사인가에 따라 결과값이 달라질 수 있으니 주의해야 한다. 복사를 한다는 것은 기존 객체와 같은 값은 가진 새로운 객체로 만드는 것이다. ※ 근데! 객체들은 멤버를 가지고 있고 그 멤버들은 값일 수도 있고, 참조 형식일 수도 있다. [ 참고 ] 모든 데이터 타입은 값 타입(value type) 또는 참조 타입(reference type)을 가진다. 값 타입(Value type) : 각각의 고유의 메모리를 소유한다. 스위프트에서 struct, enum, array, tuples 들이 해당 타입에 속한다. 참조 타입(Reference type) : 생성된 인스턴스들은 주소값을 공유한다. 스위프트에서 class가 해..