JAVA

JAVA 직렬화

로픽 2020. 3. 9. 02:00
300x250

JAVA 직렬화

직렬화란?

- JAVA 프로그램에서 특정 Class의 현재 인스턴스 상태를 다른 서버로 전달하기 위해서 Class의 인스턴스 정보를 Byte Code로 복사하는 작업

 

직렬화에 사용되는 JAVA Class 및 Method
- Class : java.io.ObjectOutputStream
- Method : writeObject(Object obj)

 

직렬화 4가지 규칙
1. 직렬화는 객체의 인스턴스 정보를 전송하는 것이기 때문에 전송측과 수신측 모두 ClassPath 안에 전달될 객체에 대한 Library를 갖고 있어야한다.
2. 전송될 객체는 java.io.Serializable을 implement 해야한다.
3. Transient 키워드가 표시된 Field는 상태 정보가 전달되지 않는다.
4. 직렬화/역직렬화는 이미 생성된 객체의 인스턴스를 복사하는 것이며 객체의 인스턴스를 새로 생성하는 것이 아니기 때문에 Constructoc가 실행되지 않는다.

 

자바 직렬화 예

 

출처 : 우아한 형제들 - 자바 직렬화 https://woowabros.github.io/experience/2017/10/17/java-serialize.html

 

자바 직렬화, 그것이 알고싶다. 훑어보기편 - 우아한형제들 기술 블로그

자바의 직렬화 기술에 대한 대한 이야기입니다. 간단한 질문과 답변 형태로 자바 직렬화에 대한 간단한 설명과 직접 프로젝트를 진행하면서 겪은 경험에 대해 이야기해보려 합니다.

woowabros.github.io

반응형