Home 직렬화와 역직렬화
Post
Cancel

직렬화와 역직렬화

직렬화와 역직렬화

직렬화(Serialization) : 객체 데이터를 저장하거나 전송 가능한 형식(ex. JSON, binary)으로 변환하는 과정

역직렬화(Deserialization) : 직렬화된 데이터를 다시 원래 객체로 복원하는 과정




직렬화가 필요한 이유

1. 데이터 타입의 특성과 메모리 주소 의존성

  • 기본형(Primitive Type)

    • 실제 값을 메모리의 stack에 저장

    • 데이터 저장/전송이 바로 가능

    • ex) int, float, char


  • 참조형(Reference Type)

    • 메모리의 heap에 데이터를 저장하고 stack에 메모리 주소를 저장

    • 참조형 데이터는 메모리 주소를 저장하지만
      주소는 프로그램 종료 시 사라지거나 시스템마다 달라 저장/전송이 불가능

    • ex) 객체, 리스트


→ 직렬화를 통해 참조형 데이터를 기본형 데이터로 변환하여 저장/전송 가능하게 만든다.




2. 포맷의 필요성

데이터를 저장하거나 전송하려면 표준화된 포맷(ex. JSON, binary)으로 변환해야 다른 시스템에서도 읽을 수 있다.



직렬화는 데이터의 저장과 전송을 가능하게 만들며

참조형 데이터를 표준화된 포맷으로 변환해 다른 시스템과 통신할 수 있도록 하는 과정이다.






REFERENCE

This post is licensed under CC BY 4.0 by the author.