이펙티브자바 아이템131 [Effective Java] 아이템13 clone 재정의는 주의해서 진행하라 ■ Cloneable Cloneable은 복제해도 되는 클래스임을 알리기 위해 만들어진 믹스인 인터페이스이다. Java의 Cloneable 인터페이스를 보면 아무런 메소드가 보이지 않는다. 가장 큰 문제는 clone 메서드가 선언된 곳이 Cloneable이 아닌 Object이고, 그마저도 protected라는데 있다. 그래서 Cloneable을 구현하는 것 만으로는 외부 객체에서 clone 메서드를 호출할 수 없다. Cloneable 인터페이스를 구현한 클래스는 Object의 메서드인 clone()을 어떤식으로 사용할 것인지를 결정한다. Cloneable을 구현한 클래스의 인스턴스에서 clone을 호출하면 그 객체의 필드들을 하나하나 복사한 객체를 반환하며, 그렇지 않은 클래스의 인스턴스에서 호출하면 C.. 2021. 2. 1. 이전 1 다음