객체는 클래스에 정의된 인스턴스 변수의 집합
인스턴스에는 클래스 변수나 메서드가 포함되지 않는다
객체를 저장한다 = 객체의 모든 인스턴스 변수의 값을 저장한다
Serializable(직렬화)
자바 객체를 디스크에 저장하거나 네트워크로 전송하기 위해 연속적인 바이트 배열로 변환하는 것
ObjectInputStream 사용 (쓰기 작업)
*객제 직렬화에서 제외되는 것
transient, static
Deserialization(역직렬화)
직렬화되어 전송된 바이트 배열을 다시 자바 객체로 변환하는 것
ObjectOutputStream 사용(읽기 작업)
*직렬화한 순서 그대로 출력
변수의 순서가 하나라도 맞지않으면 역직렬화에 실패함으로
ArrayList와 같은 자료구조로 한번에 넣는 것이 더 효율적일 수 있음
SerialVersionUID, 클래스 버전관리
직렬화하면 내부에서 자동으로 생성되는 고유번호
직렬화, 역직렬화 과정에서 서로를 확인하기 위한 용도
*자바에서는 직접 선언하고 관리하는 방식을 권장함
private static final long serialVersionUID = 임의의 값;
반응형
'학습 log (이론) > pattern' 카테고리의 다른 글
'디자인 패턴' 패턴 종류 (0) | 2017.02.07 |
---|---|
'Object-Oriented' 패턴 기초 (0) | 2016.11.28 |