TIL - 20250627

juni·2025년 6월 27일

TIL

목록 보기
49/316

📘 0627 자바 학습 정리

1. 시스템 개요

  • 기능: 회원 정보를 관리하는 CRUD 기반 콘솔 애플리케이션
  • 정보 항목: 이메일, 비밀번호, 이름, 회원식별번호(id), 성별, 나이, 가입일
  • 기능 요약:
    • 회원 등록, 조회(전체/개별), 수정, 삭제, 복구

2. 주요 클래스와 역할

✅ Member 클래스

  • 회원 1명의 정보를 담당
  • 필드: 이메일, 비밀번호, 이름, UUID로 생성된 id, 성별, 나이, 가입일(LocalDateTime)
  • 주요 메서드:
    • toString(): 회원 정보 문자열 반환
    • inform(): 사용자 친화적인 포맷으로 정보 출력

✅ Gender 열거형

  • 성별을 MALE, FEMALE로 구분

✅ MemberRepository 클래스

  • 회원 데이터 저장소 (배열로 관리)
  • 내부 배열로 회원들을 보관하며, 동적으로 크기를 확장해 데이터를 추가
  • 주요 메서드:
    • addMember(Member): 배열에 새 회원 추가
    • getMembers(): 전체 회원 반환
    • findMemberByEmail(email): 특정 이메일로 회원 검색
    • isDuplicateEmail(email): 이메일 중복 검사

✅ MemberController 클래스

  • 사용자 입력과 응답을 담당 (입출력 담당)
  • 주요 메서드:
    • start(): 메뉴 반복 실행
    • processMenu(String): 입력받은 메뉴 처리
    • signUp(): 회원 등록
    • showAllMembers(): 전체 회원 조회
    • checkDuplicateEmail(): 이메일 중복 체크
    • inputCorrectGender(): 성별 입력 유효성 검사
    • prompt(String): 사용자로부터 입력 받는 메서드

✅ Run 클래스

  • 메인 메서드 포함
  • 프로그램 시작점: MemberControllerstart() 호출

3. 동작 흐름 요약

  1. Run.main()MemberController.start() 호출
  2. 메뉴 출력 → 사용자 입력 대기
  3. 입력 값에 따라 CRUD 기능 수행
  4. 회원 데이터는 MemberRepository 내부 배열에 저장/조회됨
  5. 사용자 입력 시 유효성 검사 수행

✅ 요약

  • 객체 지향 설계 원칙을 잘 활용한 회원관리 시스템
  • 배열 동적 확장, 객체 간 협력, 캡슐화 개념이 잘 녹아있음
  • 사용자 친화적인 입력/출력 구조 적용
  • UUID, LocalDateTime, enum, switch, Scanner 등 다양한 자바 요소 학습 포함

0개의 댓글