직렬화 가능한 클래스의 버전 관리 UID(Unique Identifier)
직렬화된 객체의 UID(Unique Identifier)는 해당 클래스의 구조가 변경될 때마다 자동으로 갱신된다.
클래스를 수정시 이전에 직렬화된 객체를 읽어올 때 호환성 문제가 발생할 수 있다.
클래스의 호환성을 유지하기 위해 직렬화된 객체의 UID를 직접 정의하고 관리하는것.
Java는 직렬화된 클래스에 버전 UID(직렬화 버전 UID)를 할당 = 호환성 유지
class Person implements Serializable {
private static final long serialVersionUID = 1L; // 직렬화 버전 UID
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
// Getter, Setter, toString 메서드는 생략
@Override
public String toString() {
return "Person{name='" + name + "', age=" + age + '}';
}
}