자바 I/O & NIO 네트워크 정리 6: 객체 스트림

0

1. 🍕 객체스트림?

객체 안에 저장된 내용을 파일로 저장하거나 네트워크로 전송하려면 많은 노력이 필요하다.
이런문제를 해결할수 잇는것이 객체 스트림이다.
마샬링과 언마샬링을 이용하여 네트워크를 통해 객체를 전송할 수 있다.

2. 🍔 객체 스트림 소개

객체 스트림이란 앞선예제를 살펴본 것처럼, 객체를 아주 쉽게 전송할 수 있는 방법을 말한다.
객체가 전송되는것을 물체 전송기와 비슷하다.

  1. 데이터를 특정 통신 채널로 보낼수 있는 형태로 바꾼다. 이를 마샬링이라고 한다.
  2. 변환된 데이터를 전송하거나 쓴다.
  3. 변환된 데이터를 읽어들여 원래의 형태로 변환한다. 이를 언마샬링이라고 한다.

    직렬화

    객체의 경우 마샬링을 하려면 Serializable 인터페이스를 구현해야한다.
    Serializable 인터페이스를 구현하지 않을경우, 마샬링이 이루어지지 않는다는것을 기억하자!
    	 public class Book implements Serializale
        

    3. 🍟 마샬링하고 싶지 않은 필드에 대한 처리

    보안상 중요한 필드(암호)일 경우 노출이 안되게 막고싶을수 있다.
    private String author;
    // transient를 사용할 경우, 노출을 방지할 수 있다.
    transient priavate String author;

    4. 🌭 ObjectOutputStream의 클래스 생성자와 메소드

    ObjectOutputStream 클래스는 객체를 직렬화하기 위해서 사용한다. ObjectOutputStream 클래스는 다음과 같이 선언되어 있는 것을 알 수 있다.
    public class ObjectOutputStream
    extends OutputStream
    implements ObjectOutput, ObjectStream
profile
쉽게 가르칠수 있도록 노력하자

0개의 댓글