JAVA/chapter20_api
chapter03 : Object_clone
GAWON
2023. 5. 30. 18:18
package org.joonzis.ex;
// 반드시 Cloneable 인터페이스를 구현하자
// 복제 가능한 Person 클래스로 만들기 위함
class Person implements Cloneable{
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
@Override
public String toString() {
return "이름 : " + name + ", 나이 : " + age;
}
@Override
public Object clone() { // protected -> public으로 변경
// Object obj = super.clone(); 해도 되지만
// 그러면 try-catch이후 return 값을 넣지 못함
Object obj = null;
try {
obj = super.clone();
} catch (CloneNotSupportedException e) {
e.printStackTrace();
}
return obj;
}
}
public class Ex03_Object_clone {
public static void main(String[] args) {
Person per1 = new Person("김씨", 12);
System.out.println(per1);
Person clonePer = (Person)per1.clone();
System.out.println(clonePer);
}
}