아이템13 clone 재정의는 주의해서 진행해라
Effective Java 3e 아이템 13을 요약한 내용 입니다.
메서드 하나 없는 cloneable 인터페이스는 대체 무슨 일을 할까?
public class Stack {
private Object[] elements;
private int size = 0;
...
}Stack 클래스를 clone 하면 어떻게 될까?
clone 메서드는 사실상 생성자와 같은 효과를 낸다.
@Override
public Stack clone() {
try {
Stack result = (Stack) super.clone();
result.elements = elements.clone();
return result;
} catch (CloneNotSupportedException e) {
throw new AssertionError();
}
}그런데 이 모든 작업이 꼭 필요한 걸까?
핵심 정리
Last updated