직렬화와 역직렬화자바 프로그램상에서 어떤 객체가 생성되면 그 객체는 메모리에 머무르게 되고, 프로그램이 실행되는 동안 필요에 따라서 사용된다. 그런데 프로그램이 종료되면 메모리에 있는 객체들은 사라진다. 객체에서는 프로그램이 사용하면서 저장한 데이터가 있는데 그 데이터를 다른 프로그램이 실행할 때도 사용해야 한다면 그 객체와 데이터를 파일이나 데이터베이스에 저장을 해야 할 것이다. 여기서 객체를 저장하기 위해서 객체를 바이트 스트림이라는 형태로 변화시키는데 이것을 직렬화라고 한다. 반대로 역직렬화는 저장된 바이트 스트림을 다시 원래의 데이터로 불러오는 과정이다. 추가적으로 직렬화와 역직렬화는 데이터를 네트워크를 통해 전송할때에도 사용을 한다. 즉, 역직렬화가 수행되는 곳이 있다면 공격자는 직렬화된 바이..