상세 컨텐츠

본문 제목

[JAVA] 얕은 복사(Swallow Copy)와 깊은 복사(Deep Copy)

JAVA\Spring

by 박집실 2023. 2. 21. 01:37

본문

얕은 복사는 객체의 레퍼런스를 가져와서 동기화하는 거고 깊은 복사는 그 객체의 내용물을 가져와서 새 메모리 공간에 할당 후 생성하여 다른 레퍼런스를 가지게 하는 것..

 

깊은 복사가 가능하기 위해선 clonable이라는 인터페이스를 구현후 오버라이딩을 한 객체가 필요하다.

 

예를 들면 일차 배열에선 이를 구현하였기에 clone()를 통해서 깊은 복사가 가능하지만 2차 3차 등등 다차원배열에서는 이를 구현하지 않았기에 깊은 복사가 아닌 얕은 복사가 이루어진다.

관련글 더보기