티스토리 뷰
자바 객체를 파일에 저장하거나 네트워크로 전송하려면 직렬화(바이트 배열로 변환하는 것)를 거쳐 스트림을 통해야 한다. 반대로 직렬화된 객체를 원래의 모양으로 되돌리는 것을 역직렬화라고 한다.
직렬화와 역직렬화를 거치면서 클래스에 대한 버전 확인을 하고, 이때 사용되는 것이 SerialVersionUID. 명시적으로 선언하지 않아도 자동으로 부여해주지만 그럴 경우 클래스에 변화가 생겼을 때 역직렬화나 직렬화에 문제가 생길 수도 있으므로 개발자가 직접 관리하는 편을 권장한다.
위의 링크를 보면 왜 Serial단순한 1L 대신 길고 복잡한 SerialVersionUID를 사용하는지에 대한 이유가 나와있다. 1L처럼 단순한 값은 누가 이미 사용했을 수도 있기 때문에 길고 복잡한 값일수록 중복될 확률이 적어진다. 그렇기 때문에 고유성을 지키기 쉬워지고 그래서 길고 복잡한 SerialVersionUID를 사용한다는 것이 저 링크에서 말하는 이유이다.
300x250
'공부흔적' 카테고리의 다른 글
VM Redis 클러스터 구축부터 Jedis를 이용한 자바 연동까지 (1) | 2021.06.29 |
---|---|
미니쿠베(Minicube) (0) | 2021.06.24 |
RabbitMQ로 객체 전송하기 (0) | 2021.06.16 |
오프힙(Offheap) (0) | 2021.06.14 |
[MAC] 도커로 젠킨스 세팅하기 (0) | 2021.06.06 |