Java Java Clone() 우혁이 아빠 2012. 7. 20. 17:28 package com.tistory.tazz009.reflection; public class MemberVO implements Cloneable { private String name; private String id; static { System.out.println("ready!!!"); } public MemberVO() { } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getId() { return id; } public void setId(String id) { this.id = id; } @Override protected Object clone() throws CloneNotSupportedException { return super.clone(); } @Override public String toString() { return "MemberVO [name=" + name + ", id=" + id + "]"; } } @Test public void test_001() { MemberVO mem1 = new MemberVO(); mem1.setId("tazz009"); mem1.setName("우혁이아빠"); MemberVO mem2 = new MemberVO(); try { mem2 = (MemberVO) mem1.clone(); } catch (CloneNotSupportedException e) { e.printStackTrace(); } System.out.println(mem1.hashCode() + " : " + mem1.toString()); System.out.println(mem2.hashCode() + " : " + mem2.toString()); /* 8089714 : MemberVO [name=우혁이아빠, id=tazz009] 1270312 : MemberVO [name=우혁이아빠, id=tazz009] clone()은 protected로 선언되어 있으므로 외부에서 호출이 불가능하다. Cloneable 인터페이스가 있는 상태에서 사용이 가능하다. clone() 메서드는 네이티브로 작성된 메모리 차원의 자료 복사 기능을 하는 메서드 */ } 저작자표시