1. Serializable : 자바 객체를 파일이나 네트워크 등으로 저장, 전송할때 implements한다.
이것을 implements함으로써 - 얘는 직렬화가 가능한 객체야! 라고 mark 해주는 인터페이스이다.
2. ObjectOutputStream과 ObjectInputStream을 이용해서 객체를 저장하고 읽을 수 있다.
3. 그런데 만약에 객체의 정보가 변경된다면??
너의 시리얼 버전 ID가 변경되었어... 라면서 에러를 뿜뿜 내뱉는다.
얘는 아까 걔랑 똑같은 객체야~~ 라고 알려주는 것이 시리얼버젼 아이디.
쓸때와 정보가 달라져도 같은 객체로 인식하고 읽어들인다.
but...오히려 에러가 발생하지 않기 때문에 더 무서운 것이다. 정보가 변경되었는데 사용하는 측에서는 그걸 모르게된다!!!
그러므로 객체정보를 변경했다면 꼭꼭 버전 아이디를 변경해주자.
너가 저장한 것은 1버전인데 2버전을 읽으라고 하고있어....
라면서 또 에러를 뿜뿜.
룰 : 1) 같은버전으로 저장-읽어야 에러가 안난다( 변경된 객체이면, 에러를 내뿜는다)
2) 객체정보를 변경했을시 버젼 UID도 함께 변경해주자.



댓글 없음:
댓글 쓰기