[Java] 간단한 주소록 프로그램 (CRUD, file processing)

sua_ahn·2022년 12월 29일
0

Java

목록 보기
10/15
post-thumbnail

구조 다이어그램

  • 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 메소드
    • CRUD의 Read 기능
    • 동명이인까지 찾기
  • filesave 메소드
    • HumanDto 배열 객체를 문자열 배열로 변환하여 FileProc의 write 메소드 인자로 넘겨주기
  • fileload 메소드
    • FileProc의 read 메소드로 받은 문자열 배열을 HumanDto 배열 객체로 변환

🚫 배열 대신 ArrayList를 사용하면 불필요한 부분!

HumanDto

  • 쉽게 데이터 생성할 수 있도록 생성자 구현
  • toString 메소드 : 파일에 저장되는 형식으로 문자열 return

FileProc

  • 생성자에서 파일 생성
  • read 메소드
    • 데이터의 갯수(라인수)를 세서 배열 할당 → String 한 줄 씩 배열에 저장 → 문자열 배열 return
  • write 메소드
    • 가공된 문자열 배열을 파일에 한 줄 씩 저장
profile
해보자구

0개의 댓글