#### SerialVersionUID ####

 

- 데이타의 전송은 객체건 뭐건 바이트의 흐름으로 전송&저장 이 된다.

  다시 읽었을 때 객체의 자료구조를 그대로 보존하지 않으면 안된다(그것이 Serialzation)

  만일, serialVersionUID 를 지정하지 않으면 실행시점에서 JVM 이 디폴트 값을 산정하게 되며,

  그 알고리즘은 JAVA(TM) Objec Serialzation Specification 의 정의 된것을 따른다고 한다.

  한마디로 굳이 신경 쓸 필요는 없다는 뜻!

 

  모든 serialzation 이 필요한 클래스에는 명시적으로 serialVersionUID 를 선언해주는 것이 좋다.

  그 이유는 디폴트 serialVersionUID 계산은 클래스의 세부 사항을 매우 민감하게 반영하기 때문에

  컴파일러 구현체에 따라 deserialzation(serialization 했던 객체를 복구하는 과정) 과정에서 예상하지 못한

  InvalidClassException을 유발할 수 있다는게 이유란다. 난 몬 소린지 모르겟다.

 

  위에 설명 다 집어 치우고 - 서로 다른 자바 컴파일러 구현체 사이에서도 동일한 serialVersionUID 값을 얻기 위해서는 명시적으로

  serivalVersionUID 값을 선언해야 하며 가능한 serivalVersionUID 을 pivate 으로 선언하라는 것이다.

  (상속되어 쓰여지는 것은 유용하지 않고, 해당 클래스에서만 쓰일 것이기 때문에...)

 

  - 설정 방법

  1. 첨부파일을 압축을 풀고, 이클립스 플러그인 디렉토리에 넣어두면 자동생성 플러그인 설치 끝

serialversionutil-civan.zip

 

  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

+ Recent posts