<객체지향프로그래밍 71장~73장>
직렬화
직렬화 ( Serialization ) - 인스턴스의 상태를 그대로 저장하거나 네트워크로 전송하고 이를
다시 복원 하는 방식
보조스트림 ( ObjectInputStream 과 ObjectOutputStream 사용 )
직렬화는 인스턴스의 내용이 외부(파일, 네트워크 ) 로 유출되는 것이므로 프로그래머가 객체의
직렬화 기능 여부를 명시해야됨
Person 객체를 파일로 저장 ( 유출 하는 행위 )
---------------------------------------------------------------------------------------------------------------------------
그 외 입출력 클래스와 데코레이터 패턴
- File 클래스 : 파일개념을 추상화한 클래스 입출력 기능은 없고 파일의 속성, 경로, 이름 등을 알 수 있다.
- RandomAccessFile 클래스 : 입출력 클래스 중 유일하게 파일 입출력을 동시에 할 수 있는 클래스
파일 포인터가 있어서 읽고 쓰는 위치의 이동이 가능함 ( seek() : 데이터 이동 )
다양한 자료형에 대한 메서드가 제공 됨
RandomAccessFile 클래스
데코레이터 패턴
- 자바의 입출력 스트림은 데코레이터 패턴을 사용
실제 입출력 기능을 가진 객체와 그 외 다양한 기능을 제공하는 데코레이터를 사용하여
다양한 입출력 기능을 구현
상속보다 유연한 확장성을 가짐
데코레이터 패턴 예시
커피가 아메리카노라고 가정하였을 때 라떼는 커피에 + 우유 , 모카 커피는 커피에 + 우유 + 모카시럽 이런 식으로
데코레이터 패턴의 과정을 진행한다.
데코레이션 과정
실행
'백엔드 > Java' 카테고리의 다른 글
자바/ 제곱 구하기 (0) | 2022.11.12 |
---|---|
자바/ 소문자를 대문자로, 대문자를 소문자로 (0) | 2022.11.12 |
<FAST CAMPUS>자바 웹개발-객체지향 프로그래밍 (0) | 2021.01.26 |
<FAST CAMPUS>자바 웹개발-객체지향 프로그래밍 (0) | 2021.01.25 |
<FAST CAMPUS>자바 웹개발-객체지향 프로그래밍 (0) | 2021.01.24 |
댓글