본문 바로가기
Study & Edu/KOSTA

19day

by 댓츠굿 2013. 2. 17.

**review**

IO : 입력 출력


4가지 대표적인 부모 클래스

8bit InputStream OutputStream

16bit Reader Writer


Node Stream 계열     /     Process Stream 계열

직접 장치에 연결     부가기능을 위해 존재

독립적 사용가능     반드시 다른 스트림을 필요로 한다.(생성자에서 요구)


ex) //콘솔에 연결되는 Node Stream

InputStream is=System.in;

// Process Stream 8bit -> 16bit으로 변환하는 기능을 가진 InputStreamReader

InputStreamReader isr=new InputStreamReader(is);

//Process Stream : resdLine()을 가진 BufferedReader

BufferedReader br=new BufferedReader(isr);

String str=br.readLine();

while(str=null){

sysout(str);

str=br.readLine();

{

br.close();

**오늘 할 내용**

**객체 직렬화(Object serialization)**

메모리에서 오브젝트로(string), 반대로 오브젝트에서 메모리로는 역직렬화 -me

객체 직렬화란 바이트 단위의 스트림으로 객체의 데이터를 외부에 전송하는 기술

 객체 역직렬화란 외부에 저장된 데이터를 다시 객체로 복원하는 것

 

 java.io.Serializable Interface

 : Serializable interface 를  implements 한 클래스는 객체 직렬화

 만약 위 interface를 implements 하지 않고 직렬화를 시도하면

 Exception 발생한다.

 ex) class Person Implements Serializable{

 

  }

 *transient 지정자(modifier) : 객체 직렬화 대상에서 제외

  private String password="javaking";

  위와 같이 명시하면 직렬화 시 null

 

 ObjectInputStream readObject() : Object(리턴타입이 오브젝트(어떤타입일지모르기때문))

 ObjectOutputStream writeObject(o:Object)


step1 - Person (Person 객체를 직렬화하여  Person.obj 파일에 저장하는 예제)

step1 - TestObjectOutput



step2 - TestObjectInput


step3 - Car

step3 - SerialService


<step3 - TestSerialService (객체를 지정한 path에 직렬화하여 저장)


반응형