Java

Java_객체 스트림

ssmm95 2024. 10. 22. 12:05

객체 스트림 

: 자바는 메모리에 생성된 객체를 파일 또는 네트워크로 출력할 수 있다 

객체를 출력하려면 필드값을 일렬로 늘어선 바이트로 변경해야하는데 이것을 직렬화 라고 한다

반대로 직렬화된 바이트를 객체의 필드값으로 복원하는 것을 역직렬화 라고 한다 

 

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