ObjectStreamConstants — 객체 직렬화 스트림의 상수
ObjectStreamConstants — 객체 직렬화 스트림의 상수
ObjectStreamConstants는 객체 직렬화 스트림에 기록되는 상수들을 정의하는 인터페이스예요. ObjectInputStream과 ObjectOutputStream이 구현하며, 직렬화 스트림 형식을 구성하는 마법 번호, 버전, 태그 값, 프로토콜 버전, 플래그 등을 담고 있어요.
본문
핵심 필드
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_CLASS—Class참조를 나타내는 태그예요.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_METHOD—ObjectStreamClass플래그의 비트 마스크예요.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_PERMISSION—readObject/writeObject재정의를 허용해요.static final SerializablePermission SERIAL_FILTER_PERMISSION— 직렬화 필터 설정 권한이에요.
이 인터페이스는 직렬화 스트림의 바이너리 형식 규약을 정의하며, 이 값들은 ObjectOutputStream이 스트림에 쓰고 ObjectInputStream이 읽어 해석할 때 사용해요.