if / else if / else, switch로 분기 처리 패턴 정리.
for / while / do-while / for-in 각각 언제 쓰는지 기준이 조금씩 잡힘.
→ 횟수 명확: for, 조건만 보며 반복: while, 무조건 한 번 실행: do-while, 컬렉션 순회: for-in.
List: 순서 + 중복 허용, Set: 순서X + 중복X, Map: 키-값 구조 + 키 중복X
실습하면서 조건문으로 다 나열하는 것보다, Map으로 매핑하는 게 훨씬 깔끔하고 확장에 유리하다는 감각 생김.
점수 범위 예외(0 미만, 100 초과)를 먼저 처리해서 유효성 체크 → 본 로직 구조로 짬.
if-else if 순서를 어떻게 짜야 겹치지 않고 깔끔하게 흘러가는지 연습한 느낌.
처음엔 if / else if로 상품마다 가격 연결 → 조건문 지옥 느낌.
코드가 비효율적인거 같다고 느낌
튜터님 피드백 듣고 Map<String, int>로 상품명 → 가격을 매핑해서 다시 구현:
등록 안 된 상품은 price == null 체크 후 안내 메시지 출력.
total += pricing[item] ?? 0; 처럼 ??로 null 대비하는 거 실제로 써먹음.
조건문에 하드코딩하기보다, 데이터 구조(Map)에 넣고 돌리는 게 훨씬 확장성 좋다는 걸 몸으로 이해.
단순히 편한 서비스를 만드는 게 아니라,
마지막 Why에서 돈 지불할 만한 문제인가? 까지 내려가야 진짜 비즈니스가 된다는 포인트가 인상 깊었음.
와썹지지 vs 보탐스마트 사례로,
유저가 필요로 하는 문제와 돈 내서라도 해결하고 싶은 문제의 차이를 구체적으로 이해.