얕은 복사와 깊은 복사에 대해서 설명해 주세요.

2024. 12. 4. 09:26·백엔드 면접

얕은 복사(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
'백엔드 면접' 카테고리의 다른 글
  • JPA ID 생성 전략에 대해 설명해 주세요.
  • 로그와 메트릭에 대해서 설명해 주세요.
  • 트랜잭션 격리 수준에 대해서 설명해 주세요.
  • 데이터베이스 인덱스에 대해서 설명해 주세요.
이런개발
이런개발
geun-00의 흔적 보관소
  • 이런개발
    내일이 기대되는 오늘
    이런개발
  • 전체
    오늘
    어제
    • 분류 전체보기 N
      • 백엔드 면접
      • SQL N
        • SUM, MAX, MIN
        • SELECT
        • GROUP BY
        • JOIN
      • Spring
      • JPA
      • 트러블슈팅
      • Infra
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    raid
    오블완
    티스토리챌린지
    스프링
    백엔드 면접
    토스 페이먼츠
    데브코스
    자바
    JPA
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.5
이런개발
얕은 복사와 깊은 복사에 대해서 설명해 주세요.
상단으로

티스토리툴바