이펙티브 자바 - item 13. clone 재정의는 주의해서 진행하라

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

이펙티브 자바 - item 13. clone 재정의는 주의해서 진행하라

모든 구체 클래스에서 Object의 toString을 재정의하자.

  • clone 규약
    • x.clone() != 반드시 true
    • x.clone().getClass() == x.getClass() 반드시 true
    • x.clone.equals(x) true가 아닐 수도 있다
  • 불변 객체라면 다음으로 충분하다.
    • Cloneable 인터페이스를 구현하고 clone 메서드를 재정의한다.
    • 이때super.clone()을

clone을 구현할 때 생성자를 이용하면 안되고 항상 super.clone을 사용해야한다

정리

배열은 clone을 쓰고 나머지는 변환 생성자와 변환 팩터리를 사용하자.