Dev/CS
[CS] 직렬화(Serialization), 마샬링(Marshalling)
Redis를 사용하는 코드를 분석하던 도중 직렬화와 관련된 설정이 있어, 이를 이해하고 넘어가고자 한다. 직렬화란 무엇일까? 직렬화란 Serialization으로, 데이터 구조나 객체를 파일의 형태 등으로 저장하거나 통신하기 쉬운 포맷으로 변환하는 과정이다. Serialization의 Serial은 ‘연속된’ 이라는 뜻으로, Serialization란 객체를 ‘연속된’ Byte Stream으로 변환하는 과정을 의미한다. Byte Stream으로 변환하는 과정이란, Primitive한 데이터로 변조하는 작업을 의미한다. 왜 Primitive한 데이터로 변조를 하는 과정이 필요할까? 객체는 여러가지의 자료형이 있는데, 그 중에서도 주소값을 가지고 있는 정보는 다른 시스템으로 보내봤자 의미가 없다. 즉, ‘주..