얕은 복사(Shallow Copy)는 주소 값을 복사한다는 의미하며,
깊은 복사(Deep Copy)는 실제 값을 새로운 메모리 공간에 복사하는 것을 의미합니다.
얕은 복사의 경우 주소 값을 복사하기 때문에 원본 객체와 복사된 객체가 같은 메모리 공간의 데이터를 참조합니다. 즉, 복사된 객체에서 값을 변경하면 원본 객체도 변경이 됩니다. 주로 직접 참조 대입('=')으로 수행됩니다.
깊은 복사의 경우 원본 객체의 모든 데이터를 복사하여 새로운 메모리 공간에 저장하기 때문에 원본 객체와 복사된 객체는 서로 독립적이며, 한쪽의 변경은 다른 쪽에 영향을 주지 않습니다. clone() 메서드, 복사 생성자, 복사 팩토리 등으로 깊은 복사를 할 수 있습니다.
'백엔드 면접' 카테고리의 다른 글
| JPA ID 생성 전략에 대해 설명해 주세요. (0) | 2024.12.05 |
|---|---|
| 로그와 메트릭에 대해서 설명해 주세요. (0) | 2024.12.04 |
| 트랜잭션 격리 수준에 대해서 설명해 주세요. (0) | 2024.12.03 |
| 데이터베이스 인덱스에 대해서 설명해 주세요. (0) | 2024.12.02 |
| 일급 컬렉션에 대해서 설명해 주세요. (0) | 2024.12.02 |