shallow copy
위의 예제에서 cpy는 clone() 호출에 의해 org가 참조하는 인스턴스를 복사한 새 인스턴스를 참조한다.
인스턴스 복사에 의해 org와 cpy 멤버변수 값도 같다. 위의 예제에서는 org와 cpy가 참조하는 Point 객체도 같을 것이다. 독립된 메모리를 갖는 인스턴스가 복사 됐지만, 멤버변수가 참조하는 객체는 복사되지 않았다. 이러한 복사를 얕은 복사(shallow copy)라 한다. 멤버까지 독립된 메모리를 갖는 복사를 하려면 어떻게 해야할까?
deep copy
멤버까지 독립된 메모리를 가질 수 있게 clone()을 수정한다.
'Programming > Java' 카테고리의 다른 글
JAVA 20(2) Math 클래스 (0) | 2021.08.12 |
---|---|
JAVA 20(1) wrapper 클래스 (0) | 2021.08.11 |
JAVA 19(4) clone 메소드 (0) | 2021.08.05 |
JAVA 19(3) equals 메소드 (0) | 2021.08.05 |
JAVA 19(2) Object 클래스 (0) | 2021.08.05 |