Dev
직렬화 (Serialization)
surimi🍥
2024. 12. 24. 03:02
반응형
직렬화
직렬화는 데이터를 저장하거나 전송할 수 있는 형식으로 변환하는 것. (주로 텍스트 또는 바이너리)
장점
- 데이터 전송 및 저장 용이: 직렬화된 데이터는 네트워크를 통해 쉽게 전송하거나 파일에 저장할 수 있다. 예를 들어, 서버와 클라이언트 간에 객체를 전송하거나 디스크에 데이터를 저장할 때 유용하다.
- 플랫폼 독립성: 직렬화된 데이터는 다양한 운영체제나 시스템에서 동일한 형식으로 읽고 쓸 수 있다. 예를 들어, JSON 형식은 다양한 언어에서 처리할 수 있어, 서로 다른 시스템 간 데이터 교환이 가능하다.
- 성능 최적화 (바이너리 형식): 바이너리 형식으로 직렬화하면 데이터 크기가 작아지고, 전송 속도가 빨라질 수 있다. 특히 대용량 데이터를 다룰 때 유리하다.
직렬화 단점
- 성능 저하 가능성: 객체의 복잡도가 높거나, 큰 데이터 구조를 직렬화할 경우 처리 시간이 늘어나 성능이 저하될 수 있다. 텍스트 기반 직렬화는 이진 형식보다 느릴 수 있다.
직렬화 방식
- JSON: 객체를 JSON 형식으로 직렬화하여 텍스트 기반으로 저장하거나 전송할 수 있다. 다양한 언어에서 쉽게 사용할 수 있다. 주로 웹 애플리케이션에서 사용.
- XML: 구문이 길다. 주로 데이터를 문서 형식으로 전송할 때 사용.
- 바이너리: 객체를 이진 데이터 형식으로 변환하여 저장하거나 전송한다. 성능이 중요한 시스템에서 사용된다. Java의 기본 직렬화가 여기에 속한다.
역직렬화 (Deserialization)
- 직렬화 된 데이터를 원래 객체로 복원하는 과정.
반응형