728x90
반응형
1. 개선된 내용
1.1 UserSVC Class
- 멤버 Map<String, User> userMap; //HashMap 컬렉션을 사용해 클래스와 문자열을 각각 키와 밸류값으로 저장
- 생성자에서 HashMap 인스턴스 생성(Heap 영역에 메모리 할당), 5명 회원 초기화
- private void initUser() //5명 회원 초기화 메서드
- public boolean authUser(String id, String passwd) //아이디, 비밀번호를 받아 컬렉션에 있으면 true를 반환
- public void createUser(Scanner sc) //동일한 유저명이 없다면 회원 추가
- public User login(Scanner sc) //아이디, 비밀번호가 일치하는 컬렉션이 있으면 User 객체를 반환(클래스를 return하면 얕은 복사가 된다)
- public void listUser() //컬렉션의 value값만 sysout해주는 메서드
1.2 BoardMain Class
- 게시글 수정하기, 게시글 수정하기, 등록된 회원 확인하기 메서드를 switch case문으로 실행한다.
- try-catch문을 사용해서 정수값이 아니라면 생기는 예외 menu = sc.nextInt(); 부분을 처리했다.
1.3 BoardSVC_t Class
- public void memberWriteArticle(Scanner sc, User user) // UserSVC Class의 public User login(Scanner sc) 메서드에서 반환받은 user를 매개변수로 받아 회원 글쓰기를 해 ArrayList<BoardVO> boardList 컬렉션에 BoardVO 객체를 추가함.
- public void changeArticle(Scanner sc) //제목, 작성자(유저명), 비밀번호를 입력받아 모두 일치하는 글이 있다면 찾아서 동일한 글을 모두 수정함.
- 수정은 BoardVO객체의 setContent(content)메서드를 호출하여 값을 수정한다.
- BoardVO객체의 값을 입력받거나 수정할 때 scanner.next()로 받아 띄어쓰기를 허용하지 않았었는데 scanner.nextLine()을 받고 scanner.nextInt()이후에 개행문자처리를 해줘서 띄어쓰기를 해도 값이 저장되도록 수정함.
2. 코드부분
댓글