'방어적 복사' 태그의 글 목록 — SH's Devlog

방어적 복사

Android/Kotlin(Java)

[Kotlin/Java] 얕은복사 vs 깊은복사, Collection의 방어적 복사

[이 글은 NextStep Kotlin TDD, Refactoring, Clean Code 수업 중 공부한 것을 복습하고자 정리한 글입니다.] 얕은 복사란? 주소값 자체를 복사하는 것이다. 복사된 객체의 인스턴스는 원본 객체의 인스턴스와 같은 메모리주소를 참조합니다. -> 따라서, 같은 메모리 주소값을 참조하기 때문에 복사된 객체의 값이 변경되면 원본 객체의 값도 변경됩니다. 깊은 복사란? 새로운 메모리 공간에 객체의 모든 값을 복사하는 것이다. 원본 객체는 그대로 두고, 새로운 메모리공간에 원본 객체의 값들을 모두 복사합니다. -> 따라서, 다른 메모리 주소값을 참조하기 때문에 복사된 객체가 변경되어도 원본 객체는 영향을 받지 않습니다. 얕은복사의 문제점 자바(코틀린)에서는 기본적으로 '='를 사용하여..

반응형
seunghwaan
'방어적 복사' 태그의 글 목록