2023-java-study / book-study

북 스터디 기록 레포지토리
0 stars 0 forks source link

[item 85] 객체 그래프 #190

Open NuhGnod opened 10 months ago

NuhGnod commented 10 months ago

p.450

ObjectInputStream의 readObject 메소드를 호출하면서 객체 그래프가 역직렬화되기 떄문이다.

에서 객체 그래프란?? 그리고 객체 그래프를 역직렬화 한다란?

gmelon commented 10 months ago

제 생각엔 객체들이 서로 참조하고 있는 형태를 말하는 것 같아요. JPA에서 의존관계 엔티티들을 그래프로 한번에 불러올 수 있는 것과 유사한 개념이 아닌가 싶네요

아래 블로그에는 이렇게 적혀있어요.

객체 그래프란 특정 시점에 객체들의 참조 관계를 나타낸 모습을 지칭한다. 직렬화를 할때는 참조되는 객체들도 참조 그래프에 따라 함께 직렬화가 일어난다. 일종의 직렬화의 전파(propagation)현상이 발생하는 셈이다. 따라서 직렬화 개념을 이해하려면 객체 그래프도 이해해야 한다. https://doortts.tistory.com/153

대표적으로 LinkedList 같은 클래스의 직렬화/역직렬화가 이에 해당되지 않을까 생각합니다.