본문 바로가기

제네릭

(3)
2020.8.31일자 수업 : 첫 비대면 수업 일주일동안 학원이 폐쇄되더니 결국 비대면 수업이 시작됐다. 그것만으로도 같은 내용을 듣는데, 수업의 난이도가 훨씬 올라갔다. 제발 일주일만 하고, 다시 학원으로 돌아갈 수 있기를 바랄뿐이다. 실습 - 캡슐화 git/eomcs-java-project-2020/mini-pms-15 * 저번 수업에 한 것. 응집력을 높이기 위해 각 MemberHandler, ProjectHandler, BoardHandler, TaskHandler 클래스의 역할을 잘게 쪼개서 전문화시켰다. 즉 BoardHandler 클래스를 UI역할(BoardHandler)과 데이터를 처리하는 역할(BoardList)로 나눴다. 구체적인 구현 내용을 감추어 유지보수와 사용을 쉽게 해주는 문법이 캡슐화 이렇게 만들어진 것이 Board - 도메..
2020.9.2일자 수업 : 미니 프로젝트 실습 - Stack, Queue 실습 - LinkedList 적용 git/eomcs-java-project/src/mini-pms-19 이번에는 ArrayList 대신 LinkedList를 사용해보려고 한다. LinkedList의 장단점 각 항목들의 연결 고리를 수정하기만 하면 되므로 항목 삽입, 삭제에 걸리는 시간이 ArrayList보다 작다. 배열이 커질 때마다 가비지가 생기는 ArrayLIst에 비해 기존의 객체들을 유지하기 때문에 메모리 관리가 효율적이다. 어떤 항목을 조회할때 첫 항목부터 원하는 항목까지 모두 조회하는 과정을 거치므로 항목 조회에 걸리는 시간이 ArrayList보다 크다. 훈련 목표 ArrayList를 쓰던 것을 LinkedList로 대체한다. 1단계 : LinkedList를 사용하기 전에 저번에 실습한 Lin..
2020.9.1일자 수업 : CRUD 실습, 제네릭 실습 - CRUD 완성 git/eomcs-java-project-200/mini-pms-18 어제는 detail() 메서드를 구현하는 것까지 했다. 오늘은 update()와 delete()를 추가하여 CRUD를 완성한다. 훈련 목표 update()를 추가한다 delete()를 추가한다 1단계 : update()를 각 Handler 클래스에 추가한다. ProjectHandler와 TaskHandler의 유효한 회원 검사 과정도 함께 추가한다. public void update() { System.out.println("[회원 변경]"); int no = Prompt.inputInt("번호? "); Member member = findByNo(no); if (member == null) { System.ou..