
카테고리별로 정리하려고 클래스를 분리했다.
내 머릿속 설계는 객체가 스스로 일해야 하지 않나?
그러니 객체 만들어야지!
프로그램의 핵심 로직은 입력한 재고가 올바른 카테고리에 배치되는지 판단하는 것이다.
이제 클래스별로 내부 구현을 하려니 뭘해야할지 막막하다.
카테고리별 재고 개수말고는 이 클래스가 뭘 해야 하지..?
사용자로부터 입력을 받아서 올바른 카테고리에 잘 배치했는지 판단할 건데 비교를 해야 한다.
그러면 카테고리의 모든 클래스 객체를 만들고 하나하나 비교해야 하나?
초기 구현을 하며 카테고리를 추가려했는데 추가될수록 클래스가 너무 많아질 것 같다.
지금 뭔가 모르게 불편함이 자꾸 느껴진다.
설계가 잘못된 것 같다.
모두 객체로 바라보고 설계한 건데 왜 잘못된 거야?
무슨 차이로 나는 설계가 잘못된 방향으로 갈까?
객체를 분리하는 기준이 뭘까?
답답함을 해결해 줄 기준이 있었다!
객체는 행동을 기준으로 분리해야 하는 것이었다.
행동이 존재하고 다르다면 분리를 해줘야 한다.
카테고리에 있는 음료나 고기가 무슨 행동을 하나?
특별히 가지고 있어야 할 행동이 없다.
단순히 데이터를 객체로 바라보고 있는 것이다.
이제 2주 차 레이싱카 미션에서는 가능했고 지금은 불가능한지 이해가 된다.
2주 차에서는 우승자나 랜덤값 등을 클래스로 분리했다.
그때는 별도의 행동이 있었지만 지금 카테고리들은 별도의 행동이 없다.
지금 한 행동은 마치 2주차에서 경주할 자동차 이름별로 클래스를 만든 것이다.
앞으로 행동을 신경 쓰면서 객체를 분리해야겠다.
'우테코 프리코스 > 프리코스 오픈미션' 카테고리의 다른 글
| EnumMap 클래스란? (0) | 2025.11.09 |
|---|---|
| 의존성을 주입 하라고요? (0) | 2025.11.07 |
| Facade 패턴이 뭐야? (0) | 2025.11.06 |
| 전략 패턴은 어떻게 사용하는 걸까? (0) | 2025.11.06 |
| 프로젝트가 처음인데 어떻게 설정해야 하지? (0) | 2025.11.05 |