ObjectStreamField — 직렬화 가능 필드 설명
ObjectStreamField — 직렬화 가능 필드 설명
ObjectStreamField는 Serializable 클래스의 직렬화 가능 필드에 대한 설명이에요. ObjectStreamField의 배열은 클래스의 직렬화 가능 필드를 선언하는 데 사용됩니다. java.lang.Object를 상속하며 Comparable<Object>를 구현해요.
본문
생성자
ObjectStreamField(String name, Class<?> type)— 지정한 이름과 타입의 직렬화 가능 필드를 나타내는ObjectStreamField를 만들어요.ObjectStreamField(String name, Class<?> type, boolean unshared)— 지정한 이름, 타입, unshared 여부로 필드를 만들어요.unshared가false면 필드 값은writeObject/readObject호출처럼 직렬화·역직렬화되고,true면writeUnshared/readUnshared호출처럼 처리돼요.
메서드
String getName()— 이 필드의 이름을 반환해요.Class<?> getType()— 필드의 타입을 반환해요. 역직렬화된ObjectStreamClass인스턴스에서 얻었다면Object.class를 반환해요.char getTypeCode()— 필드 타입의 문자 인코딩을 반환해요.String getTypeString()— JVM 타입 시그니처를 반환해요.int getOffset()— 인스턴스 데이터 내 필드의 오프셋을 반환해요.protected void setOffset(int offset)— 인스턴스 데이터 내 오프셋을 설정해요.boolean isPrimitive()— 이 필드가 기본형 타입이면true를 반환해요.boolean isUnshared()— 이 필드가 unshared인지 여부를 반환해요.int compareTo(Object obj)— 이 필드를 다른ObjectStreamField와 비교해요.String toString()— 이 필드를 설명하는 문자열을 반환해요.
ObjectStreamField는 클래스의 serialPersistentFields를 정의해 직렬화 필드 집합을 명시적으로 제어할 때 사용돼요.