-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
깊은 복사와 얕은 복사의 차이에 대해 설명해주세요. #38
Comments
깊은 복사는 복사했을 때 완전히 새로운 인스턴스가 생성되는 것을 깊은 복사, 얕은 복사는 참조만 복사되는 것을 얕은 복사라고 합니다. |
값 타입과 참조 타입은 복사 방식이 다릅니다. |
깊은 복사와 얕은 복사는 값을 복사할 때 실제 값을 복사하는지 여부에 따라 나뉘게 됩니다. |
🙋🏻 답변깊은 복사와 얕은 복사는 swift에서 객체나 구조체에서 해당 인스턴스를 복제할 때 사용되는 방식입니다. 얕은 복사는 주로 참조 타입을 복사할 때 사용되는 방식입니다. 참조 타입을 복제할 때 해당 인스턴스의 모든것을 복사하는것이 아닌 메모리 주소정도만 복사하는 방식입니다. 얕은 복사를 사용하게 되면 복제로 인해 증가하는 메모리는 없지만, 같은 인스턴스를 바라보게 되기 때문에 변경이 일어날 때 해당 객체를 참조하는 모든 인스턴스들이 같이 변경이 일어납니다. 깊은 복사는 주로 값 타입을 복사할 때 사용되는 방식입니다. 얕은 복사와는 다르게 해당 인스턴스의 모든 부분을 복제하여 독립적인 인스턴스로 만들어줍니다. 깊은 복사를 사용하면 새로운 인스턴스가 생기는것과 동일하기에 메모리 사용량이 증가하지만 독립적인 인스턴스기 때문에 변경으로부터 자유롭습니다. 이 때 값타입의 경우 COW가 구현되어있다면 부분적으로 얕은 복사를 하며, 변경이 일어날 때 깊은 복사를 진행합니다. 🏷️ 키워드
|
No description provided.
The text was updated successfully, but these errors were encountered: