본문 바로가기

programming/java

Item 13. clone 재정의는 주의해서 진행하라.

[WHY]

  1. Object.clone() 은 깊은 복사를 보장하지 않느다.
  2. Object.clone() 은 동기화를 고려하지 않는다.

[WHEN]

clone() 메서드를 구현할 때.

[HOW]

복사 생성자, 복사 팩터리를 이용해서 안전한 복사(깊은 복사)를 구현하자.

부득이하게 Cloneable을 구현한 객체를 사용해야한다면 깊은 복사가 되도록 clone()메서드를 구현하자.