return
Price
인스턴스 생성Lottos
인스턴스 생성, 구입한 로또 번호 출력LuckySix
인스턴스 생성LuckyBonus
인스턴스 생성WinningResult
인스턴스 생성, 당첨 결과 출력Profit
인스턴스 생성, 수익률 출력price
초기string
을 int
로 변환numbers
초기화generateNumber
메서드 호출Randoms.pickUniqueNumbersInRange
활용luckySix
초기화string
을 List<Integer>
로 변환luckyBonus
초기화string
을 int
로 변환checkWinning
호출Lotto
의 isIncludeBonus
와 hasSameElement
를 호출하여 5개가 같고 보너스가 포함된 경우를 먼저 빼주고, 같은 번호가 3개 이상인 경우를 처리winningResult 정수 리스트
에 결과 저장calculateProfit
호출항상 궁금했지만 이번에 처음 배웠다. 요구사항이 핵심 로직와 UI 코드를 분리하는 것이라서 알아봤다. 그래도 아무것도 모르고 겁먹었던 것 치고는 막상 배워보니 쉬운 구조였다(아마도?)
물론 본격적으로 깊게 들어가야하겠지만 그래도 시도했다는 것에 의의를!
지난 주차에 고민했던 접근 제어자 부분..! 사실 아직은 뭐가 좋은지는 모르겠지만 그래도 최대한 모든 객체의 접근성을 통일시켜주려고 했다.
Lotto 클래스의 numbers가 private라서 꽤 고전했지만...ㅠㅜㅠ
와우 이번엔 예외 처리할 것이 너무 많았다. 그리고 applicationtest의 예외 테스트에서 계속 틀리는 바람에 try-catch 문에 대해 더 잘 알게 되었다. 혼자 강의로 들을 때는 잘 이해를 못했는데 역시 직접 몸으로 느껴야 잘 흡수할 수 있는 것 같다.
MVC 패턴을 배우면서 자연스럽게 고민하게 되었다. 이 객체에는 어떤 기능이 들어가야할까? 너무 무거운게 아닐까? 많은 생각을 했다.
자꾸 와라락! 구현해놓고 커밋안해버리는 실수를...
나중에는 힘이 빠져서 리팩토링하면 걍 다 묶어서 커밋해버렷다;;;;;
1, 2주차에 비해 유독 구현에 시간이 많이 걸렸다. 처음부터 클래스와 함수를 완벽히 나누려고 해서 그런 것 같다.
나름 많이 나눴다고 생각했지만 여전히 더 나눠야 할 것!
검증 메서드들이 많아서 이름 짓기도 어렵고.. 좀 더 간소화 할 수 있었을 텐데 아쉽다.
코드 짜면서 자꾸 새로 생기는 변수나 메서드들이 많아서 이름에 통일성을 주기 힘들었다. 코드를 전체적으로 바라보는 능력이 필요할 듯!
자꾸 다른 클래스에서 사용해야하니까 public으로 했었는데...좀 더 고민해서 private으로도 값을 활용할 수 있게 만들어야겠다.
이렇게 좋은 방법이 있었다니! 일일이 검사하느라 복잡해졌었는데 앞으로는 연관된 것은 묶는 걸로~!
굳이 출력해줄 필요가 없이 그냥 getMessage를 사용하면 되는 것 같다. 4주차부터 적용해봐야겠다.
프로그래밍 요구사항에 분명히
프로그래밍 요구 사항에서 달리 명시하지 않는 한 파일, 패키지 이름을 수정하거나 이동하지 않는다.
라고 적혀있었는데...아무 생각 없이 Lotto.java를 model 패키지로 옮겨버리고 말았다...이런 실수 없어야 할 것...
와...1,2주차에 비해 정말 힘들게 성공했고 그만큼 배운게 많은 3주차였다.
우선 핵심 로직과 UI 분리하기..정말 쉽지 않았다. 하지만 시도해서 다음 미션에서 더 수월하게 할 수 있을 듯!
날 계속 괴롭히던 예외 테스트...왜 "[ERROR]"를 추가했는데 오류가 뜨지? 계속 고민했다. 결국 해결 못할 거라 생각하고 그냥 냈는데, 고민한 시간이 아까워서(그리고 나와 같은 문제를 다들 겪는 것 같아서ㅎㅎ) 자바의 예외처리를 다시 조사해봤고 실마리를 찾았다. 마침내 예제가 다 돌아갈 때의 기쁨이란..!
그리고 요구사항을 꼼꼼히 읽는 것 정말 몇번을 강조해도 모자라다. 출력 형식을 고쳐서 정말 다행이었다. 다시 컴퓨터를 키고 보지 않았더라면 못고쳤을 두가지 문제...끝날 때까지 끝난 게 아니다!!!!
4주차는 그래도 더 잘할 수 있지 않을까...?(과연) 3주차 피드백이 너무 알차고 내 실수를 저격한 것 같아 좋다(?) 더 배울 수 있는 거니까...마지막 주차도 화이팅!!!!!
잘보고갑니다!