- 객체를 저장 -> ObjectInputStream/ObjectOutputStream (Data process Stream)
- java.io.Serializable 인터페이스의 의미
- SerialUID 변수
* Java 에서는 보안상 인스턴스의 byte 배열화를 제한한다.
* java.io.Serializable
- 이 인터페이스를 구현한 클래스 만이 인스턴스를 바이트 배열로 자동 변환할 수 있다. (Serializable)
- 또는 바이트 배열을 인스턴스
==============================================================
private static final long serialVersionUID = 1L;
- Serialize한 데이터를 구분하기 위한 버전번호이다.
- 이것은 읽을 때 구분 용도로 사용한다.
- 선택이다. 그러나 serialize 대상 클래스라면 설정하는 것이 좋다.
- 만약, 개발자가 명시적으로 serialVersionUID를 선언하지 않는다면,
컴파일러가 인스턴스의 타입과 변수, 개수에 의존하여 자동으로 버전번호를 생성한다.
- 순서가 달라도 변수의 개수와, 이름과 타입이 같은 버전 번호를 갖는다.
Value Object 는 되도록이면 시리얼라이즈 하는게 낫다.
RedApp.class (save 와 open 코드)
================================================================
댓글 없음:
댓글 쓰기