-
User는
1000원단위로 로또 N장을 구매한다- 구매 후 로또 생성기로부터 N장의 로또를 생성한다
1000원단위로 입력하지 않을 경우IllegalArgumentException를 발생시키고[Error]로 시작하는 에러 메시지를 출력 후종료한다
- 구매 후 로또 생성기로부터 N장의 로또를 생성한다
-
LottoWinningMachine은 로또 당첨 번호를 생성한다
- 총 7개의 중복되지 않는 숫자 (기본 당첨 번호 6개 + 보너스 번호 1개)
-
LottoStatistics는 N장의 로또에 대한 당첨 통계를 산출한다
- 로또 번호 List를 추상화시킨 모델
- 로또 번호는 1..45 범위 안에 존재해야 한다
- 각 번호들은 중복되지 않아야 한다
1000원단위의 로또 N장을 구매하는 컴포넌트List<Lotto>
- 로또 당첨 번호 6개 + 보너스 번호를 생성하는 컴포넌트
보너스 번호에 대한 컴포넌트
- 당첨과 관련된 순위를 표현하는 컴포넌트
- 로또 당첨 내역 및 수익률을 산출하기 위한 통계용 컴포넌트
- 전역 예외 메시지 통합 컴포넌트
- Lotto 숫자 범위 & 전체 사이즈 관련 상수 전용 컴포넌트
- 로또 번호 자동 생성기
- 사용자 Input에 대한 기본 검증 컴포넌트
LottoPurchaseAmountValidator-> 로또 구입금액 검증 컴포넌트WinningNumberValidator-> 로또 당첨번호 검증 컴포넌트BonusNumberValidator-> 보너스 번호 검증 컴포넌트
- 사용자 Input을 받기 위한 컴포넌트
- 로또 게임 진행과 관련된 출력 컴포넌트
- 로또 게임 진행과 관련된 컨트롤러