[우아한테크코스] 8기 프리코스 - 3차 미션 회고록
로또 발매기 과제를 하며 느낀 점이번 로또 발매기 과제를 진행하면서, 항상 과제를 대할 때처럼 절차지향적으로 기능을 먼저 구현하고 이후에 객체지향적으로 리팩토링하는 습관에 대해 다시 한번 고민하게 되었습니다. 기능을 하나씩 구현해 나가는 과정은 익숙하지만, “이 방식이 정말 좋은 접근일까?”라는 의문이 생겼습니다.기능 구현 중심의 사고에서 구조 중심의 사고로과제를 시작할 때는 늘 그렇듯, 먼저 필요한 기능을 나열했습니다. 금액 입력, 예외 처리, 로또 번호 생성, 당첨 결과 판별, 수익률 계산 등, 각 단계를 세분화하여 절차적으로 하나씩 완성해 나갔습니다. 이 과정에서 Set, List, Map 같은 다양한 자료구조를 활용하며 데이터의 성격에 맞는 자료형 선택의 중요성을 절감했습니다.특히 다음과 같은 방..
[우아한테크코스] 8기 프리코스 - 2차 미션 회고록
🚗 자동차 경주 게임 프로그래밍 소감문이번 자동차 경주 게임을 구현하면서 가장 많이 고민했던 부분은 입력 문자열을 어떻게 정확하게 분리할 것인가, 그리고 이름과 점수, 회차 정보를 어떤 자료구조로 저장할 것인가였습니다. 단순히 문자열을 split(",")으로 나누는 것이 아니라, 연속된 구분자(,,), 빈 문자열, 정규표현식의 한계, limit 값의 차이 등 세밀한 상황까지 고려해야 했기 때문입니다.🧩 1. String.split()의 한계를 직접 파악하다처음에는 String.split(",")만 사용하면 된다고 생각했습니다.하지만 테스트 중 "a,,b,c" 같은 입력에서 예상치 못한 결과가 나왔습니다.이유를 찾기 위해 String 클래스의 실제 구현을 분석해보니,split() 메서드는 내부적으로 다..