# CSV Writer 만들기
csv로 저장할 model의 field는 얼마든지 바뀔 수 있으므로 reflection을 사용해보도록 하자.
`getClass().getDeclaredFields()`이면 model class에 선언한 field들을 가져올 수 있다.
## BOM(Byte Order Marker)?
해당 문서가 어떤 Charset으로 되어 있는지 판별하기 위해 사용되는 Marker이다.
몇가지 타입이 있는데 자세한건 검색해보도록 하자.
## java BOM 지원
java reader들은 BOM를 지원하지 않기 때문에,
쓰기 할때는 BOM을 추가, 읽을 때는 BOM을 삭제해줘야 한다.
BOM을 반영해주지 않으면 charset 때문에 읽기 곤란한 문서와 만나게 된다.