직렬화 란?
- 자바의 객체를 스트림을 통한 입출력을위해 바이트형식으로 변환하기 위함이다.
역직렬화 란?
- 직렬화된 객체를 원래 모양으로 되돌리는 과정을 역직렬화라고 지칭한다.
한 마디로 데이터를 저장하고 쓰기위해 네크워크 통신이 가능한 형태로 변환하는과정이라고 볼 수 있다.
사용 이유?
1. 값 형식의 데이터 : int, char 등 값 형식의 데이터는 직접 접근이 가능
2. 참조 형식의 데이터 : ex)포인터변수, object 등
이 두가지 데이터 중에서 실제 디스크에 쓰고 저장할수 있는 데이터는 1번 뿐이다
왜?
객체를 생성하고 그 주소값을 가진 객체와 데이터를 저장 후 종료하면
기존에 메모리에 할당되었던 객체의 주소값이 소멸되게 된다
그래서 "직렬화" 라는 과정을 통해 소실될 수 있는 데이터, 주소값들을 끌어모아
변환하여 보존하기 위함이다.