본문 바로가기

Serializable

[Java] 객체 직렬화 Serialization (ObjectInputStream / ObjectOutputStream) 객체 직렬화 ObjectInputStream / ObjectOutputStream 객체 스트림은 프로그램 메모리상에 존재하는 객체를 직접 입출력해 줄 수 있는 스트림으로 현재 상태를 보존하기 위한 영속성을 지원할 수 있다. 자바에서 객체 안에 저장되어 있는 내용을 파일로 저장하거나 네트워크를 통하여 다른 곳으로 전송하려면 객체를 바이트 형태로 일일이 분해해야 한다. 이를 위하여 객체를 직접 입출력 할 수 있도록 해주는 객체 스트림이다. 1. 객체 전송의 단계 객체를 분해하여 전송하기 위해서는 직렬화(Serialization) 되어야 한다. 객체를 전송하기 위해서는 3가지 단계를 거친다. (1) 직렬화된 객체를 바이트 단위로 분해한다. (marshalling)(2) 직렬화 되어 분해된 데이터를 순서에 따라.. 더보기
Java에서 직렬화(Serializable)가 불가능한 경우 1. 직렬화가 불가능한 경우 1) 직렬화가 불가능한 객체를 포함한 경우 2) 하위 클래스는 직렬화를 구현했지만 상위 클래스에서는 직렬화가 구현되지 않은 상태에서 상위 클래스의 생성자에 매개변수가 있는 경우 2. 직렬화 불가능한 클래스들 1) 이벤트 어댑터 2) 이미지 필터 3) AWT 클래스 4) beans 5) Socket 6) URLConnection ?1234567891011121314import java.io.IOException;import java.io.Serializable;import java.net.Socket; /** * Serializable은 구현했지만 직렬화할 수 없는 객체를 포함한 경우 */ public class MyNetwork implements Serializable { .. 더보기