책/EFFECTIVE JAVA
[모든 객체의 공통메서드] 아이템13. clone 재정의는 주의해서 진행하라
미로처럼
2024. 7. 16. 01:25
728x90
CLoneable이 몰고 온 모든 문제를 되짚어봤을때, 새로운 인터페이스를 만들때는 절대 Cloneable을 확장해서는 안되며, 새로운 클래스도 이를 구현해서는 안된다. finbal 클래스라면 cloneable을 구현해도 위험이 크지 않지만, 성능 최적화 관점에서 검토한 후 별다른 문제가 없을 때만 드물게 허용해야 한다. 기본 워칙은 '복제 기능은 생성자와 팩터리를 이용하느게 최고' 라는 것이다. 단 배열만은 clone 메서드 방식이 가장 깔끔한, 이규칙의 합당한 예외라 할 수 있다.
728x90