자바 직렬화란 자바의 객체 나 데이터를 외부의 자바 시스템에서도 사용가능 하도록 바이트(byte)형태로 데이터 변환을 하는 기술을 의미한다.
직렬화의 경우 자바 직렬화 이외에도 다른 직렬화 방식이 많이 있다.
즉, 직렬화는 데이터 교환을 위해 사용하는 방식을 의미한다.
자바 직렬화를 하려면 조건이 필요하다.
해당 조건은 Serializable 인터페이스를 상속받은 객체이거나 자바 기본(primitive) 타입이여하 한다.
자바 직렬화를 위해서는 ObjectOutputStream 객체를 이용한다.
자바 외의 직렬화의 종류에는 크게 2가지 방식이 있다.
- 문자열 형태의 직렬화 방법
- 이진 직렬화 방법
문자열 형태의 직렬화 방법이란 말 그대로 데이터,객체를 눈으로 확인 가능한 문자열 형태로 직렬화하는 방식을 의미한다.
문자열 형태의 직렬화 방법의 종류에는 CSV,XML,JSON 방식이 있다.
표형태의 다량의 데이터를 직렬화 할 경우에는 CSV 방식이 주로 사용되며,
구조적인 데이터의 경우 XML과 JSON을 사용하게 된다.(요즘은 JSON을 더 많이 사용)
이 둘의 차이점은 사용되는 시스템의 차이라고 말할 수 있다.
다른 직렬화의 경우 모든 시스템들 간의 데이터 교환이 가능하다.
하지만 자바 직렬화의 경우 자바 시스템들 간의 데이터 교환만이 가능하다.