직렬화가 가능한 클래스 만들기 - Serializable, transient (2)
·
자바/입출력 IO
참고) 아래의 예제에서 사용될 UserInfo 클래스는 아래와 같다. package Serialization; public class UserInfo implements java.io.Serializable { String name; String password; int age; public UserInfo() { this("Unknown", "1111", 0); } public UserInfo(String name, String password, int age) { this.name = name; this.password = password; this.age = age; } public String toString() { return "("+ name + "," + password + "," + age..
직렬화(Serializtion): Object 입출력 스트림
·
자바/입출력 IO
1. 직렬화 - 직렬화(Serializtion)란? 객체를 데이터 스트림으로 만드는 것을 말한다. - 즉, 객체에 저장된 데이터를 스트림에 쓰기 위해 연속적인 데이터로 변환하는 것이다. - 반대로 스트림으로부터 데이터를 읽어서 객체를 만드는 것을 역직렬화(deserialization) 라고 한다. 2. ObjectInputStream과 ObjectOutputStream - 직렬화는 ObjectOutputStream을, 역직렬화는 ObjectInputStream을 사용한다. - ObjectInputStream과 ObjectOutputStream은 InputStream과 OutputStream을 직접 상속받지만, 기반 스트림을 필요로 하는 보조 스트림이다. - 그래서 객체를 생성할 때, 기반(주) 스트림을 ..