직렬화란 컴퓨터의 메모리 상에 존재하는 데이터를 파일로써 저장하거나 , 통신하는 다른 컴퓨터에게 알맞은 형식에 맞추어 전달하기 위해 바이트 스트림
형태로 만드는것을 의미한다.
즉 , Object 나 데이터 구조를 직렬화한다.
데이터들은 연속적으로 붙어있지 않고 , 내부적으로 포인터에 의해 참조
되고 있는데 ,
이는 프로그램이 실행중인 컴퓨터에서만 인식 할 수 있는 형태이다.
따라서 다른 저장 환경 등에서도 사용 할 수 있는 형태로 바꾸어 줘야 하기때문이다.
기본적으로 바이트 형태
로 바꾸는 것이라고 보면 된다.
이러한 치킨을 누구한테 설명을 한다 하지만 그 친구는 치킨에 대해서 전혀 모르는 친구라하면 ??
chicken: [
{
"name":"chicken",
"price":16000,
"brand":"BHC"
....
},
]
이런식으로 설명하게 될것이다.
컴퓨터는 결국 0
, 1
로 읽어지기 때문에 ,
0 과 1 로 된
직렬화한 상태로 길게 늘어져서 읽을 수 있는 상태로 전달이 되게 된다.