직렬화( serialization )
객체를 데이터 스트림으로 만드는것
객체에 저장된 데이터를 스트림에 쓰기(write)위해 연속적인(serial) 데이터로 변환하는것

스트림으로부터 데이터를 읽어서 객체를 만드는것을 역직렬화(deserialization)라 한다
객체를 저장하거나 전송하려면 직렬화를 해야한다
( 객체를 저장한다 ) = 객체의 모든 인스턴스 변수의 값을 저장한다
( 저장했던 객체를 다시 생성 ) = 객체를 생성한후 저장했던 값을 읽어서 생성한 객체의 인스턴스변수에 저장
객체는 클래스에 정의된 인스턴스변수의 집합. 객체에는 클래스변수나 메서드가 포함되지 않는다.
https://dorivertt.tistory.com/336
JVM 메모리 공간 , 변수와 데이터 , Garbage Collector
자바(JAVA)를 사용하는 입장에서 알아야 할 메모리 구조 및 특징 JVM(자바 가상 머신)은 OS로부터 메모리를 할당받고, 그 메모리를 용도에 따라서 여러 영역으로 나누어 관리를 한다. 각 변수의 생
dorivertt.tistory.com
직렬화( 스트림에 객체를 출력 )에는 ObjectOutputStream을 사용
역직렬화( 스트림으로부터 객체를 입력 )에는 ObjectInputStream을 사용
직렬화가 가능한 클래스를 만드는 방법
: 직렬화하고자 하는 클래스가 java.io.Serializable 인터페이스를 구현하도록 하면 된다
public class User implements java.io.Serializable {
}
Serializable인터페이스는 아무 내용도 없는 빈 인터페이스지만, 직렬화를 고려하여 작성한 클래스인지를 판단하는 기준이 된다.
'Java의 정석 기초편(남궁성) 정리 + a > 15. 입출력' 카테고리의 다른 글
| 29. File (0) | 2024.04.16 |
|---|---|
| 26. 표준 입출력 (0) | 2024.04.16 |
| 1 ~ 4 . 입출력과 스트림, byte기반 스트림, 보조 스트림, 문자기반 스트림 (0) | 2024.04.16 |