ObjectStreamConstants — 객체 직렬화 스트림의 상수

ObjectStreamConstants — 객체 직렬화 스트림의 상수

ObjectStreamConstants는 객체 직렬화 스트림에 기록되는 상수들을 정의하는 인터페이스예요. ObjectInputStreamObjectOutputStream이 구현하며, 직렬화 스트림 형식을 구성하는 마법 번호, 버전, 태그 값, 프로토콜 버전, 플래그 등을 담고 있어요.

출처: Java API Reference

본문

핵심 필드

  • static final short STREAM_MAGIC — 스트림 헤더에 쓰이는 매직 넘버예요. 값은 0xACED예요.
  • static final short STREAM_VERSION — 스트림 헤더에 쓰이는 버전 번호예요. 값은 5예요.
  • static final byte TC_BASE — 첫 번째 태그 값이에요.
  • static final byte TC_NULL — null 객체 참조를 나타내는 태그예요.
  • static final byte TC_OBJECT — 새 객체를 나타내는 태그예요.
  • static final byte TC_CLASSClass 참조를 나타내는 태그예요.
  • static final byte TC_ARRAY — 새 배열을 나타내는 태그예요.
  • static final byte TC_CLASSDESC — 새 클래스 설명자를 나타내는 태그예요.
  • static final byte TC_STRING — 새 문자열을 나타내는 태그예요.
  • static final byte TC_LONGSTRING — 긴 문자열을 나타내는 태그예요.
  • static final byte TC_ENUM — 새 enum 상수를 나타내는 태그예요.
  • static final byte TC_BLOCKDATA — 선택적 데이터 블록을 나타내는 태그예요.
  • static final byte TC_BLOCKDATALONG — 긴 블록 데이터를 나타내는 태그예요.
  • static final byte TC_ENDBLOCKDATA — 객체에 대한 선택적 블록 데이터 블록의 끝을 나타내는 태그예요.
  • static final byte TC_EXCEPTION — 쓰기 중 예외를 나타내는 태그예요.
  • static final byte TC_MAX — 마지막 태그 값이에요.
  • static final int baseWireHandle — 할당될 첫 번째 와이어 핸들이에요.
  • static final byte SC_WRITE_METHODObjectStreamClass 플래그의 비트 마스크예요.
  • static final byte SC_SERIALIZABLE, SC_EXTERNALIZABLE, SC_ENUM, SC_BLOCK_DATA — 클래스 플래그 비트 마스크예요.
  • static final int PROTOCOL_VERSION_1, PROTOCOL_VERSION_2 — 스트림 프로토콜 버전이에요.
  • static final SerializablePermission SUBSTITUTION_PERMISSION — 직렬화 중 한 객체를 다른 객체로 대체하는 것을 허용해요.
  • static final SerializablePermission SUBCLASS_IMPLEMENTATION_PERMISSIONreadObject/writeObject 재정의를 허용해요.
  • static final SerializablePermission SERIAL_FILTER_PERMISSION — 직렬화 필터 설정 권한이에요.

이 인터페이스는 직렬화 스트림의 바이너리 형식 규약을 정의하며, 이 값들은 ObjectOutputStream이 스트림에 쓰고 ObjectInputStream이 읽어 해석할 때 사용해요.

더 알아보기 (Learn more)