deep copy

2023. 9. 7. 09:37프로그래밍/java

요즘 보고 있는 책 [디자인패턴의 아름다움] 에세 나온 깊은 복사 방법이다. 

깊은 복사를 해서 독립적인 객체를 만들수 있다.

보통 리스트와 같은 경우는 deep copy를 위해 관련 라이브러리를 설치하거나 했었는데 해당 코드를 utile 로 만들어 사용하면 매우 매우 편하다. 

 

이렇게 간단하게 평소에 생각지도 못햇던 코드라 더욱 신기했다..

 

 

public class Dssas {
    public Object deepCopy(Object object) throws IOException, ClassNotFoundException {
        ByteArrayOutputStream bo = new ByteArrayOutputStream();
        ObjectOutputStream oo = new ObjectOutputStream(bo);
        oo.writeObject(object);

        ByteArrayInputStream bi = new ByteArrayInputStream(bo.toByteArray());
        ObjectInputStream oi = new ObjectInputStream(bi);
        return oi.readObject();
    }
}

'프로그래밍 > java' 카테고리의 다른 글

드 모르간의 법칙(De Morgan's law) - 논리연산  (0) 2024.04.01
redis를 이용해 중복 요청 막기  (0) 2023.05.19
Thread Method(1)  (0) 2023.05.09
Java 멀티 스레딩  (2) 2023.05.08
facade layer  (0) 2023.05.03