ObjectStreamField — 직렬화 가능 필드 설명

ObjectStreamField — 직렬화 가능 필드 설명

ObjectStreamFieldSerializable 클래스의 직렬화 가능 필드에 대한 설명이에요. ObjectStreamField의 배열은 클래스의 직렬화 가능 필드를 선언하는 데 사용됩니다. java.lang.Object를 상속하며 Comparable<Object>를 구현해요.

출처: Java API Reference

본문

생성자

  • ObjectStreamField(String name, Class<?> type) — 지정한 이름과 타입의 직렬화 가능 필드를 나타내는 ObjectStreamField를 만들어요.
  • ObjectStreamField(String name, Class<?> type, boolean unshared) — 지정한 이름, 타입, unshared 여부로 필드를 만들어요. unsharedfalse면 필드 값은 writeObject/readObject 호출처럼 직렬화·역직렬화되고, truewriteUnshared/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를 정의해 직렬화 필드 집합을 명시적으로 제어할 때 사용돼요.

더 알아보기 (Learn more)