Java의 모든 데이터들은 객체로 이루어져 있다.
그런데 기본적으로 데이터인 객체 그 자체를 네트워크 상으로 전송할 수 없다.
그래서 객체의 내용을 저장/복원하거나 네트워크 상으로 전송하기 위해서 객체의 내용을 I/O가 처리할 수 있는 형태로 변환해야 한다.
Java에서 말하는 객체 직렬화는 Java의 객체를 외부로 저장/복원하거나 네트워크 상으로 전송할 수 있도록 바이트 형태로 변환하는 기술을 의미한다.
역직렬화는 직렬화를 통해 변환된 바이트 형태를 다시 원상태인 객체로 변환시키는 기술을 의미한다.