목록2025/03 (2)
녕의 학습 기록

레벨 1의 세번째 미션인 블랙잭이 끝났다. 이전 미션이 출석이었어서 그런지 이번 미션은 비교적 여유롭다고 느껴졌다.상속 vs 조합이번 블랙잭의 핵심은 딜러와 플레이어에서 발생하는 중복 로직들을 해결하는 것이었다. 주로 나온 방법들이 상속과 조합(합성과 같음)이었고, 나는 상속이 더 익숙했기 때문에 상속을 택했다. 물론 "딜러 is A 겜블러"라는 상속 관계가 적절하다고 생각해서 상속을 선택했기도 하다. 딜러와 플레이어는 모두 게임에 참가하는 겜블러라고 보았고 겜블러를 추상 클래스로 만들어 딜러와 플레이어가 상속 받게 했다. 그리고 딜러와 플레이어의 로직 차이는 초반에 공개하는 카드의 장수 차이만 존재한다고 생각해서 겜블러의 getInitialCards를 추상 메서드로 선언하였다. 이렇게 중복되는 로직은 ..

레벨 1의 두번째 미션인 출석이 끝났다. 이번 미션은 1단계에서 페어랑 함께 TDD로 구현하고, 2단계에서 혼자 처음부터 다시 TDD로 구현하는 것이 요구사항이었다. 우선 1단계는 많이 힘들었다. 그 명성과 대략적인 프로세스만 들어봤지, TDD를 직접 해보기는 처음이었기 때문이다. 페어인 젠슨도 TDD가 처음이었어서 둘이서 상당히 헤맨 기억이 있다. 무엇보다 어디서부터 어떻게 시작해야할 지가 가장 막막했었다. 예를 들어 A 객체에 대한 실패하는 테스트를 만들고 구현하자니, B 객체가 필요했다. 그래서 B 객체에 대한 실패하는 테스트를 만들고 구현하고자 하니, 또 C 객체가 필요했다. 이런 것이 몇번 반복되다 보니 젠슨이랑 나는 당황스러운 감정을 감추지 못하고 같이 웃기 바빴다. 지금 돌아보니 젠슨이랑 많..