본문 바로가기

명사 美 비격식 (무리 중에서) 아주 뛰어난[눈에 띄는] 사람[것]

JAVA

클래스에서 객체를 복제하다, clone()

name과 age값을 가진 Person을 복제해보자.

// Cloneable 인터페이스를 구현한 Person 클래스
class Person implements Cloneable {
    private String name;
    private int age;

    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }

    // Getter 및 Setter 메서드 생략

    // clone() 메서드 재정의
    @Override
    public Object clone() throws CloneNotSupportedException {
        return super.clone();
    }
}

 

 

타 클래스에서 Person을 만들 수 있음과 더불어

clone메서드를 사용하여 객체를 볼사할 수 있다.

public class CloneExample {
    public static void main(String[] args) {
        try {
            // 원본 객체 생성
            Person originalPerson = new Person("John", 25);

            // clone() 메서드를 사용하여 객체 복제
            Person clonedPerson = (Person) originalPerson.clone();

            // 복제된 객체의 내용 확인
            System.out.println("Original Person: " + originalPerson.getName() + ", " + originalPerson.getAge());
            System.out.println("Cloned Person: " + clonedPerson.getName() + ", " + clonedPerson.getAge());

            // 원본 객체와 복제 객체는 서로 다른 객체이지만 내용이 동일합니다.
        } catch (CloneNotSupportedException e) {
            e.printStackTrace();
        }
    }
}

 

 

 

완료

Original Person: John, 25
Cloned Person: John, 25