네트워크에 직렬화 필요이유

제이·2023년 4월 4일
0

네트워크에 직렬화가 필요한 이유

직렬화가 필요한 이유는 값 형식 데이터 (Value Type) 과 참조 형식 데이터 (Reference Type) 의 차이 때문에 발생한다.
원시타입(Value)의 변수들은 메모리 영역 중 스택에 쌓이고, 이미 직렬화 되어있다.
예를 들어 int형 변수는 4byte만큼 연속적으로 메모리가 배치되어있다.
하지만 참조타입(Reference) 변수들은 메모리 영역 중 힙에 쌓이게 되고, 흩어져 있다.
그리고 스택영역에서 해당 힙 메모리를 참조하는 구조로 되어있다.
예를 들어 String 이 포인터로 구현되어 있는 경우, 내부적으로 메모리가 연속적으로 되어 있지 않다고 한다.
이러한 데이터를 온전히 저장 또는 전송하기 위해서는 연속적으로 배치해주어야 하는 작업을 해야하는데 그것이 직렬화이다.

profile
Hello :)

0개의 댓글