ObjectOutput — 객체 쓰기용 데이터 출력 인터페이스

ObjectOutput — 객체 쓰기용 데이터 출력 인터페이스

ObjectOutputDataOutput 인터페이스를 확장해 객체를 쓰는 것을 포함해요. DataOutput은 기본형 타입 출력을 위한 메서드를 포함하며, ObjectOutput은 그 인터페이스를 확장해 객체, 배열, 문자열을 포함시킵니다.

출처: Java API Reference

본문

이 인터페이스는 DataOutput, AutoCloseable을 확장합니다. DataOutput에서 상속한 writeBoolean, writeByte, writeBytes, writeChar, writeChars, writeDouble, writeFloat, writeInt, writeLong, writeShort, writeUTF 메서드와 함께 객체 쓰기 기능을 제공해요. 구현 클래스로 ObjectOutputStream이 대표적이에요.

메서드

  • void writeObject(Object obj) throws IOException — 객체를 기반 저장소나 스트림에 써요. 이 인터페이스를 구현하는 클래스가 객체가 어떻게 쓰이는지 정의해요.
  • void write(int b) — 바이트를 써요. 바이트가 실제로 쓰일 때까지 블로킹해요. DataOutput에서 지정됐어요.
  • void write(byte[] b) — 바이트 배열을 써요. 바이트가 실제로 쓰일 때까지 블로킹해요.
  • void write(byte[] b, int off, int len) — 바이트의 부분 배열을 써요. len이 음수거나 b.length - off보다 크면 문제가 될 수 있어요.
  • void flush() — 스트림을 플러시해요. 버퍼링된 출력 바이트를 써요.
  • void close() — 스트림을 닫아요. 스트림과 관련된 자원을 해제하려면 반드시 호출해야 해요.

ObjectOutput은 직렬화된 객체를 이진 스트림에 쓸 때 기본형 값과 객체를 함께 쓸 수 있게 해 줘요.

더 알아보기 (Learn more)