#### SerialVersionUID ####
- 데이타의 전송은 객체건 뭐건 바이트의 흐름으로 전송&저장 이 된다.
다시 읽었을 때 객체의 자료구조를 그대로 보존하지 않으면 안된다(그것이 Serialzation)
만일, serialVersionUID 를 지정하지 않으면 실행시점에서 JVM 이 디폴트 값을 산정하게 되며,
그 알고리즘은 JAVA(TM) Objec Serialzation Specification 의 정의 된것을 따른다고 한다.
한마디로 굳이 신경 쓸 필요는 없다는 뜻!
모든 serialzation 이 필요한 클래스에는 명시적으로 serialVersionUID 를 선언해주는 것이 좋다.
그 이유는 디폴트 serialVersionUID 계산은 클래스의 세부 사항을 매우 민감하게 반영하기 때문에
컴파일러 구현체에 따라 deserialzation(serialization 했던 객체를 복구하는 과정) 과정에서 예상하지 못한
InvalidClassException을 유발할 수 있다는게 이유란다. 난 몬 소린지 모르겟다.
위에 설명 다 집어 치우고 - 서로 다른 자바 컴파일러 구현체 사이에서도 동일한 serialVersionUID 값을 얻기 위해서는 명시적으로
serivalVersionUID 값을 선언해야 하며 가능한 serivalVersionUID 을 pivate 으로 선언하라는 것이다.
(상속되어 쓰여지는 것은 유용하지 않고, 해당 클래스에서만 쓰일 것이기 때문에...)
- 설정 방법
1. 첨부파일을 압축을 풀고, 이클립스 플러그인 디렉토리에 넣어두면 자동생성 플러그인 설치 끝
2. 설정 방법
다음과 같이 Add SerialVersionUID 가 자동생성 후
앞에 private 만 적어주면 완료.
'공부 > JAVA' 카테고리의 다른 글
JAVA_[객체_직렬화] (0) | 2012.06.23 |
---|---|
JAVA_[Adapter_패턴 (일명 : Wrapper 패턴)] (0) | 2012.06.23 |
JAVA_[코딩_지침] (0) | 2012.06.21 |
JAVA_[StringTokenizer 과 Split 의 차이] (0) | 2012.06.21 |
JAVA_[텍스트파일읽기_예제] (0) | 2012.06.21 |