[5주 차] 우테코 8기 오픈 미션 - Java로 구현하기 3

2025. 11. 18. 08:00우아한테크코스 8기

우아한테크코스 8기 글 목록
1. [0주 차] 지원 마감 하루 전 날, 우테코 8기 지원하기
2. [1주 차] 우테코 8기 프리코스 첫 번째 미션 – 문자열 덧셈 계산기
3. [2주 차] 우테코 8기 프리코스 두 번째 미션 – 자동차 경주
4. [3주 차] 우테코 8기 프리코스 세 번째 미션 – 로또
5. [4주 차] 우테코 8기 오픈 미션 - Java로 구현하기 1
6. [4주 차] 우테코 8기 오픈 미션 - Java로 구현하기 2
7. [현재글] [5주 차] 우테코 8기 오픈 미션 - Java로 구현하기 2

 

1. 과제 개요

나의 세 번째 오픈미션은 JAVA 3주 차 미션 경주였다.

중간에 지원한 기업에서 코딩테스트를 보게 돼서
새로운 루틴을 세우고 실행하느라 정신없는 한 주였다.

3주 차 BE 미션 깃허브 저장소다.

 

2. 문제 접근 방식

2.1. 접근 방식

이번 미션은 JavaScript으로 구현할 때,
이미 객체지향적으로 설계해서 다시 설계하지 않아도 됐다.

어떻게 하면 더 작게 분리할 수 있을 지에 중점을 뒀다.

2.2. 설계 방향

2주 차 BE 미션 때처럼 입력, 객체 검증을 나누었다.

객체마다 중복되는 검증이 있었는데
중복 검증을 최소화할 수 있었다.

3주 차 JavaScript 미션에서는 컨트롤러를 흐름을 크게 만들었다.

지금 다시 봤을 때 연산-출력, 입력-객체 생성처럼
한 번에 2가지 흐름을 가지고 있었다.

Java로 구현할 때는
하나의 흐름에 한 가지 역할만 가지도록 컨트롤러 흐름을 나눴다
.

JavaScript Lotto App 흐름
Java Lotto Application 흐름

2.3. 상수화

이번에 처음으로 Enum을 사용했다.
TypeScript에서 사용해 본 Enum 타입과는 달랐다.

TypeScript에서는 Java 클래스처럼 점 표현식으로 값에 바로 접근할 수 있었지만,
Java의 Enum은 메서드를 한 번 더 거쳐서 값을 반환해야 했다.

현금 클래스 오류 메시지 코드 스크린샷

Enum은 속성을 확장성 있게 다룰 수 있는 장점이 있는데
값만 사용하는 경우면 Class로 사용해도 되지 않나 의문이다.

왜 Class보다 Enum으로 상수 관리를 권하는지 궁금하다.

 

3. 배운 점과 느낀 점

이번 미션은 4일이 걸렸다.
구현보다 다른 곳에 신경을 더 많이 쓰다 보니 당연한 결과였다.

동일한 구조, 동일한 진행은 반복적이었다.
반복에서 얻는 것은 지식보다 코딩 속도였다.

속도가 숙련도인가?
아님 숙련도의 한 부분인 가.

확실한 것은 알고리즘은 어려웠다.

원하는 일정에 코딩 테스트를 볼 수 있어서
준비 기간을 가질 수 있어서 좋았다. 

평일에는 알고리즘을 준비하고 일요일에 테스트를 봤다.
CodeSignal 플랫폼에서 봤고 문제는 준비한 유형대로 나왔지만
속성으로 준비해서 시간적으로 부족했다.

알고리즘 테스트를 보면서 느낀 점은 문제를 많이 풀면 도움 되지만,
풀어본 문제여도 접근 방법을 떠올릴 수 없다면 말짱 도루묵이었다.

마치 어휘 같다.
사용하지 않으면 계속 비슷한 단어만 사용하게 된다.

의식하는 노력이 있어야 실력을 늘릴 수 있었다.

스스로에게 제약사항을 두고
계속 지켜나가는 것이 알고리즘 공부 방식임을 알게 되었다.

 

4. 커뮤니티 참여

이번 주차는 커뮤니티 활동을 많이 하지 못했다.

갑작스레 코딩 테스트 일정이 생겨서
리뷰-미션-오픽 루틴에서 미션-알고리즘으로 바뀌었다.

알고리즘을 공부하느라 코드 리뷰에 많은 시간을 투자할 수 없었다.

커뮤니티 활동성도 1주 차와 비교하면 잠잠했다.
다들 바쁜 것 같다.

 

5. 학습 및 앞으로 계획

솔직히 6주는 너무 길다.

자율도 방향성 검증이 있어야 하는데 3주 동안 이어가는 건 
심리적으로든, 시간적으로든 붕 뜬다.

2주가 적당한 것 같다.

근데 오늘(18일)이 최종 결과 제출이었다면,
아직 최종 정리도 못한 상태라 끔찍했을 것 같다.

문서 정리까지 일주일 시간이 남아 있어서 다행이다.
이렇게 보면 3주도 적당한 것 같다.

이번 주는 3주 차 BE 미션 하면서 생긴 의문을 해결하고
오픈 미션 회고를 최종적으로 작성할 계획이다.

 

6. 여담

0주 차 때의 소망이 이뤄졌다.

4주 차 때 2개의 미션 회고록을 작성해서 
의도치 않게 게시글이 5개가 넘어갔다.

이제 새로운 소망이 생겼다.
마지막 글이 최종 테스트 선정 결과 발표가 아니기를 바란다..