직렬화
- 객체의 상태를 바이트 스트림으로 변환하는 과정이다.
- 바이트 스트림은 파일로 저장하거나 네트워크 전송이 가능하고, 객체 상태, 클래스 정보등을 포함한다.
- 해당 클래스가 Serializable 인터페이스를 구현해야 한다.
바이트 스트림
역직렬화
- 바이트 스트림을 객체로 복원하는 과정이다.
- 객체의 상태를 복원해서 원래의 객체를 다시 사용할 수 있게 된다.
- 역직렬화시에도 클래스가 Serializable 인터페이스를 구현하고 있어야 한다.
Serializable
- 마커 인터페이스이다. 특별한 메서드가 정의되어 있지 않다.
- 클래스가 이 인터페이스를 구현함으로써 그 클래스의 객체들이 직렬화될 수 있음을 나타낸다.
serialVersionUID
- 직렬화된 객체의 버전 관리를 위한 고유 ID라고 한다.
- 클래스 변경시 자동 생성된 값이 달라져서 직렬화된 객체와 클래스간 호환성이 문제가 될 수 있다고 한다.
- 이를 방지하기 위해 명시적으로 SerialVersionUID선언해서 클래스 버전관리하는 것이 좋다고 한다.
본문 제목
내용
출처
- 사이트, 검색명 (날짜)