직렬화 ( serialization )
직렬화란?
- 인스턴스의 상태를 그대로 파일 저장하거나 네트웍으로 전송하고 ( serialization )
- 이를 다시 복원 ( deserialization )하는 방식
- 자바에서는 보조 스트림을 활용하여 직렬화를 제공함
ObjectInputStream과 ObjectOutputStream
생성자
|
설명
|
ObjectInputStream(InputStream in)
|
InputStream을 생성자의 매개변수로 받아 ObjectInputStream을 생성합니다.
|
ObjectOutputStream(OutputStream out)
|
OutputStream을 생성자의 매개변수로 받아 ObjectOutputStream을 생성합니다.
|
Serializable 인터페이스
- 직렬화는 인스턴스의 내용이 외부로 유출되는 것이므로 프로그래머가
해당 객체에 대한 직렬화 의도를 표시해야 함
- 구현 코드가 없는 marker interface
- transient : 직렬화 하지 않으려는 멤버 변수에 사용함 (Socket등 직렬화 할 수 없는 객체)
직렬화 예제
file i/o 기반 주소록 만들기
AddressBookVo
AddressBookInterface // 인터페이스에서 주소록 규격을 맟춤
FileAddressBookImpl
AddressBookMain
기능이 정상적으로 작동하는 모습
[인턴 OJT 6일차] File I/O , DBAddressImpl 수정 및 복습 (0) | 2022.12.20 |
---|---|
[인턴 OJT 5일차] Java DB 연동 select, insert (0) | 2022.12.16 |
[인턴 OJT 3일차] Static, File I/O, Static, bit/byte (0) | 2022.12.14 |
[인턴 OJT 2일차] slf4j, java.lang.*, String 메서드, Wrapper Class(래퍼 클래스) (1) | 2022.12.13 |
[인턴 OJT 1일차] 개발환경 구성, maven, Log4j, coding standard (0) | 2022.12.12 |
댓글 영역