[Swift] Copy-on-Write 최적화
코드 상에서 값을 복사해서 담는다 하더라도, 실제 값이 바뀌기 전까지는 하나의 메모리 값을 공유해서 사용한다. 메모리를 적게 차지하기 위해서 Swift 언어가 내부에서 처리하는 매커니즘 코드로 한번 살펴보겠습니다. var array = [1, 2, 3, 4, 5, 6] var subArray = array[0...2] subArray.append(7) subArray 배열을 생성할 때 array의 배열 [0...2] 부분을 대입했지만 이때 값의 복사가 아니라 동일한 메모리 공간을 가르키고 있게 됩니다. 그리고 값의 변경이 일어날 때 (여기서 append()) 값이 복사됩니다. Swift에서는 원시타입 구조체(Int, Double, String)와 Array, Set, Dictionary 등 컬렉션 구조체..