728x90
CLoneable이 몰고 온 모든 문제를 되짚어봤을때, 새로운 인터페이스를 만들때는 절대 Cloneable을 확장해서는 안되며, 새로운 클래스도 이를 구현해서는 안된다. finbal 클래스라면 cloneable을 구현해도 위험이 크지 않지만, 성능 최적화 관점에서 검토한 후 별다른 문제가 없을 때만 드물게 허용해야 한다. 기본 워칙은 '복제 기능은 생성자와 팩터리를 이용하느게 최고' 라는 것이다. 단 배열만은 clone 메서드 방식이 가장 깔끔한, 이규칙의 합당한 예외라 할 수 있다.
728x90
'책 > EFFECTIVE JAVA' 카테고리의 다른 글
[클래스와 인터페이스]아이템 15. 클래스와 멤버의 접근 권한을 최소화하라 (0) | 2024.07.22 |
---|---|
[모든 객체의 공통메서드] 아이템14. Comparable을 구현할지 고려하라 (0) | 2024.07.16 |
[모든 객체의 공통메서드] 아이템12. toString을 항상 재정의하라 (0) | 2024.07.09 |
[모든 객체의 공통메서드] 아이템11. equals를 재정의 하려거든 hashCode 도 재 정의하라 (0) | 2024.07.08 |
[모든 객체의 공통 메서드] 아이템10. equals는 일반 규약을 지켜 재 정의하라. (0) | 2024.07.07 |