이펙티브 자바 - item 13. clone 재정의는 주의해서 진행하라
on JAVA
이펙티브 자바 - 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을 쓰고 나머지는 변환 생성자와 변환 팩터리를 사용하자.