반응형
SMALL

직렬화 2

[Java] 직렬화(Serialization)와 역직렬화(Deserialization)

잠시 귀차니즘으로 인해 술을 홀짝 마셨더니 정말 오랜만에 글을 작성하게 되었습니다 장마가 지나니 폭염이 시작되서 마스크가 더욱 괴롭게 느껴지네요 (코로나19 -_-) 아무튼 오늘의 학습 주제는 직렬화와 파일 입출력입니다 우리가 알고 있는 자바의 객체는 상태와 행동이 담겨있습니다 그런데 객체의 상태를 저장하고 싶을 때는 어떻게 할까요? 만약 객체의 상태를 만들어낸 자바 프로그램에서만 사용한다고 하면 직렬화를 사용하고 다른 프로그램에서도 사용한다면 일반 텍스트 파일로 저장하는 방법이 있습니다 (물론 다른 방법들도 있습니다) 먼저 알아야하는 것은 데이터는 스트림(Stream) 형태로 이동하고 자바 입출력 API에는 파일이나 네트워크 소켓과 같은 출발지 또는 목적지로의 연결을 나타내는 연결 스트림(Connect..

Java 2020.08.20

[Design Pattern] 추억거리 패턴(Memento Pattern)

이번 학습 주제는 추억거리(Memento) 패턴입니다 문서를 작성할 때 필요한 글을 실수로 삭제하게 되면 undo(실행취소) 기능을 사용합니다 객체 지향의 프로그램에서 이 기능을 실행하려면 인스턴스가 가진 정보를 저장해야하고 인스턴스 내부 정보에 접근 가능해야합니다 하지만 접근의 허용은 자칫 캡슐화의 파괴를 초래할 수 있습니다 Memento 패턴은 캡슐화의 파괴에 빠지지 않고도 할 수 있도록 해줍니다 역할 설명 Originator(작성자) 자신의 현재 상태를 저장하고 싶을 때 Memento 역할을 생성하고 이전의 Memento 역할을 전달 받으면 그 Memento 역할을 만든 시점의 상태로 돌리는 처리를 실행 Memento(추억거리) Originator 역할의 내부 정보를 정리하며 그 정보는 비공개함 M..

Java 2020.07.16
반응형
LIST