교육 (Today I Learned)/SeSAC

SeSAC 21일차 / 미니 프로젝트

Bay Im 2023. 8. 17. 01:02
SeSAC 21일차(2023-08-14)
미니 프로젝트


프로젝트 완성하기

  • Project: EMS(EmployeeManagementSystem)
  • Package: ssac.emp.iyb(본인이름이니셜)
  • Main-class: TestEMS
  • 사용자 인터페이스: Scanner 사용
  • 프로그램 내용
    • 등록, 목록, 상세, 수정, 삭제
    • 검색(필수): Map 사용
  • 추가 class 1: Employee
    • member field: name, sabun, phone, addr
    • member method: getter/setter, toString(), equals()
  • 추가 class 2: EmployeeMGR
    • member field: db
    • member method: insert(), delete(), update(), select(), selectAll()

 

 

 

  • 메모
    • 메인 클래스
      • 목록, 등록, 검색, 종료를 묻는다.
    • 목록
      • 실행 시 현재 DB 목록에 있는 이름을 모두 출력한다. (selectAll() 함수)
      • 목록 출력 후 상세 내용을 확인할 이름을 묻고 해당 이름의 상세 내용을 출력한다. (select() 함수)
      • 이후 수정, 삭제를 묻고, 사용자가 원하는 기능 번호를 입력 후 해당 기능 실행한다. (update(), delete() 함수)
    • 등록
      • 실행시 신규 데이터 입력(이름, 사번, 번호, 주소의 값을 받기, 받은 값으로 insert() 함수 실행) 받은 후 저장
    • 검색
      • 실행(search()) 시 이름을 사용자에게 받으면 해당 값의 상세 내용이 나오도록(select()) 한다.
    • 종료
      • 실행 시 break 문으로 종료한다.

 

 

 

  • 완성 후 메모
    • for 문 안에 if 문 사용할 때 break 써서 for 문 빠져나와야 함
    • scanner.next()를 nextLine()으로 바꿨다가 에러 발생
      • 문자열 받을 때 next() 사용하기
    • 파이썬 생각하고 ‘문자열 == 문자열’로 true, false 받으려 했다가 에러 발생
      • 문자열변수.eqals(”비교할문자열”) 같이 equal() 함수 사용하여 문자열 비교하기

 

 

 

  • 회고
    • getter/setter 연산자를 잘 사용하지 못함
    • Employee 클래스의 필드와 메서드를 사용하지 못함.. EmployeeMGR 클래스에서 필드를 초기화해서 그 안에서만 사용한 것 같음
    ⇒ EmployeeMGR 클래스 안에 Employee 인스턴스를 만들어서 getter/setter 로 값을 return으로 가져오거나 set 하면 될 것 같다.

 

 

 

오늘의 실습 코드

https://github.com/yubin-im/SeSAC/tree/bb0b433b00e3620fb45fb884efa98bfd05cb30f7/20230814/ssac/emp/iyb