구조 다이어그램
- Main : 실행부
- DAO (Data Access Object) : CRUD 등 주요 기능 구현
- DTO (Data Transfer Object) : 데이터 양식
- File Processing : 파일을 읽고, 데이터를 파일에 저장
Class UML
Main
- AddressDao 객체 생성 → while문과 switch문으로 menu 선택 구현
→ 선택 시 AddressDao 메소드 실행
AddressDao
- field
🚫 HumanDto 배열 객체를 사용하므로 미리 넉넉하게 할당
- 생성자
- 파일 불러오기 → 🚫 불러온 데이터 갯수를 세서 변수에 저장 (추가 메소드 사용 대비)
- search 메소드
- 삭제, 수정 메소드에서 공통으로 사용하는 검색기능을 따로 구현
- 이름으로 검색 → 배열 인덱스 return
🚫 검색 시 배열의 비어있는 변수로 인해 발생하는 NullPointerException 고려
- select 메소드
- filesave 메소드
- HumanDto 배열 객체를 문자열 배열로 변환하여 FileProc의 write 메소드 인자로 넘겨주기
- fileload 메소드
- FileProc의 read 메소드로 받은 문자열 배열을 HumanDto 배열 객체로 변환
🚫 배열 대신 ArrayList를 사용하면 불필요한 부분!
HumanDto
- 쉽게 데이터 생성할 수 있도록 생성자 구현
- toString 메소드 : 파일에 저장되는 형식으로 문자열 return
FileProc
- 생성자에서 파일 생성
- read 메소드
- 데이터의 갯수(라인수)를 세서 배열 할당 → String 한 줄 씩 배열에 저장 → 문자열 배열 return
- write 메소드