객체 스트림
: 자바는 메모리에 생성된 객체를 파일 또는 네트워크로 출력할 수 있다
객체를 출력하려면 필드값을 일렬로 늘어선 바이트로 변경해야하는데 이것을 직렬화 라고 한다
반대로 직렬화된 바이트를 객체의 필드값으로 복원하는 것을 역직렬화 라고 한다
ObjectInputStream 과 ObjectOutputStream 은 객체를 입출력 할 수 있는 보조스트림이다
ObjectOutputStream은 바이트 출력 스트림과 연결되어 객체를 직렬화 하고
ObjectInputStream 은 바이트 입력 스트림과 연결되어 객체로 복원하는 역직렬화를 한다
바이트 -> InputStream -> ObjectInputStream(역직렬화) -> 프로그램(객체) - > ObjectOutputStream(직렬화) -> OutputStream - > 바이트
ObjectInputStream ObjectOutputStrea 보조스트림 연결하는 코드
ObjectInputStream ois = new ObjectInputStream(바이트 입력 스트림);
ObjectOutputStream oos = new ObjectOutputStream(바이트 출력 스트립);
- ObjectOutputStream 으로 객체를 직렬화하기 위해서 writeObject() 메소드 사용
oos.writeObject(객체);
- 반대로 ObjectInputStream 의 readObject() 메소드는 읽은 바이트를 역직렬화해서 객체로 생성해야한다
readObject() 메소드의 리턴 타입은 Object 이므로 구체적인 타입으로 강제 타입 변환해야한다
객체타입 변수 = (객체타입) ois.readObject();'Java' 카테고리의 다른 글
| Java_File과 Files 클래스 (0) | 2024.10.22 |
|---|---|
| Java_프린트 스트림 (0) | 2024.10.22 |
| Java_기본 타입 스트림 (0) | 2024.10.22 |
| Java_보조스트림_성능 향상 스트림 (0) | 2024.10.22 |
| Java_보조스트림, 문자변환 스트림 (0) | 2024.10.21 |