[swift] Swift 딕셔너리에서 얕은 복사와 깊은 복사의 차이점은?

예를 들어, 다음은 얕은 복사와 깊은 복사의 차이를 보여주는 Swift 코드입니다.

// 얕은 복사
var originalDict = ["name": "John", "age": 30]
var shallowCopyDict = originalDict
shallowCopyDict["name"] = "Mike"
print(originalDict)  // 출력: ["name": "Mike", "age": 30]

// 깊은 복사
var deepCopyDict = originalDict
for (key, value) in originalDict {
    deepCopyDict[key] = value
}
deepCopyDict["name"] = "Sarah"
print(originalDict)  // 출력: ["name": "Mike", "age": 30]

따라서, 얕은 복사는 원본과 복사본이 서로 영향을 주고 받을 수 있지만, 깊은 복사는 완전히 독립적인 복사본을 생성하여 원본과의 연관성을 끊습니다.

더 자세한 내용은 Swift 공식 문서를 참고하시기 바랍니다.