바이너리 포맷 vs 텍스트 포맷
- 휴먼 가독성
- 바이너리 포맷은 사람이 보기가 불편하다.
- 텍스트 포맷은 사람이 직접 보고 편집할 수 있다.
- 전용 애플리케이션
- 바이너리 포맷을 이해하는 애플리케이션을 이용해야만 읽고 쓸 수 있다.
- 텍스트 포맷은 메모장과 같은 텍스트 에디터만 있으면 읽고 쓸 수 있다.
- 파일 크기
- 바이너리 포맷은 텍스트 포맷에 비해 크기가 작다.
- 바이너리 포맷은 각 데이터의 크기를 규정해 놓고 쓰고 읽는다.
- 텍스트 포맷은 메타 데이터(예 : 태그)를 이용하여 데이터를 구분한다.
- 이기종 언어나 플랫폼 간 호환성
- 일반 바이너리 포맷은 이기종 프로그래밍 언어간 교환이 가능하다.
- 그러나 자바의 serialize와 같은 특정 포맷은 다른 언어에서 읽고 쓸 수 없다.
- 포토샵 같은 특정 애플리케이션 전용 포맷은 다른 언어에서 읽고 쓸 수 없다.
- 텍스트 포맷은 이기종 프로그래밍 언어에서도 자유롭게 읽고 쓸 수 있다.
- 그래서 텍스트 포맷은 애플리케이션 간에 데이터를 교환할 때 주로 사용한다.
- 예 ) XML, HTML, CSV
loadObject()메서드의 3번째 파라미터
간접구현하는 과정 (로컬~익명~람다~메서드레퍼런스)
- CSV 문자열을 가지고 Object객체를 생성하는 valueOfCsv() 를 추가한다.
- Object객체의 필드 값을 CSV 문자열을 리턴하는 toCsvString() 를 추가한다.