[swift] 배열의 복사와 복제

배열은 Swift에서 데이터를 저장하고 조작하는데 매우 유용한 자료구조입니다. 배열을 다루다 보면 배열의 복사와 복제에 대해 이해할 필요가 있습니다.

복사 (Copy)

배열을 복사한다는 것은 원래 배열의 요소들을 새로운 배열에 복사하는 것을 의미합니다. 이때, 새로운 배열은 원래 배열과 다른 메모리 주소에 위치하게 됩니다.

다음은 배열을 복사하는 예제 코드입니다.

var originalArray = [1, 2, 3, 4, 5]
var copiedArray = originalArray

위 코드에서 originalArraycopiedArray에 할당했습니다. copiedArrayoriginalArray의 복사본이므로, copiedArray를 수정해도 originalArray에는 영향을 주지 않습니다.

복제 (Clone)

배열을 복제한다는 것은 원래 배열과 동일한 값을 갖지만 다른 메모리 주소에 위치한 완전히 새로운 배열을 생성하는 것을 의미합니다.

다음은 배열을 복제하는 예제 코드입니다.

var originalArray = [1, 2, 3, 4, 5]
var clonedArray = originalArray
clonedArray[0] = 100

clonedArray를 수정하더라도 originalArray에는 영향을 주지 않습니다. 이는 clonedArray가 완전히 별도의 배열이기 때문입니다.

결론

배열을 다룰 때, 배열의 복사와 복제를 구분하여 사용하는 것이 중요합니다. 복사는 동일한 값을 가지지만 다른 메모리 주소에 위치하는 새로운 배열을 생성하고, 복제는 원래 배열과 동일한 값을 가지지만 완전히 새로운 배열을 생성한다는 점을 명심해야 합니다.

위의 예제 코드를 통해 배열의 복사와 복제에 대한 이해를 높일 수 있습니다.

자세한 내용은 Swift 공식 문서를 참고하세요.