✅ 선택미션 - 개인학습
선택미션은 정해진 범위 안에서 자신이 자유롭게 미션을 선택하여 수행하는 것이다. 말 그대로 '선택'미션이라 안해도 되지만, 나는 블랙잭 미션 머지가 일찍 됐기 때문에 고민도 없이 하기로 했다.
몇가지 선택지가 있었는데 나는 개인학습을 선택했다.

이전부터 《객체지향의 사실과 오해》를 사놓고 바쁘다는 핑계로 읽지 못하고 있었는데 이참에 읽어버릴려고 선택했다. 또한 블랙잭 미션을 하면서 객체의 책임을 분리하는데 많은 고민을 했었기 때문에 도움이 될 것 같았다.
그렇다고 단순히 읽기만 하면 크게 도움이 안될 것 같아, 읽은 후에는 앞으로 하게될 미션인 '장기'의 도메인 모델을 간단하게나마 설계해보기로 결정하였다.
😃 Liked (좋았던 점)
그동안 미뤄왔었던 과업 하나를 이뤄내서 뿌듯했다.
☹️ Lacked (부족했던 점)
처음 객체지향 설계를 할 때는 결과물인 코드를 생각하지 말고, 최대한 객체 간의 협력에 집중해야 하는데 나도 모르게 자꾸 코드를 떠올렸던 것 같다. 그러다 보니 협력이 아니라 개별적인 객체에 집중하게 되고, 책임에 대한 분배가 애매해지는 경우가 많았다.
이러는 이유에는 장기 도메인 자체에 대한 이해가 부족한 탓도 있는 것 같다. 이번에 장기를 처음 다루다 보니 혹시 놓친 부분이 있지는 않을지 계속 걱정하게 되었고, 다양한 경우를 한 번에 모두 반영하려다 보니 메시지를 충분히 추상화하지 못한 채 설계하는 일이 많았다.
또한 객체지향에 대한 이해가 아직 부족한 점도 영향을 준 것 같다. 이 책이 객체지향 설계의 방향성을 제시해주는 것은 분명하지만, 실제로 적용해볼 수 있는 구체적인 예시는 다소 부족하게 느껴졌다. 그래서 이론을 이해하는 것과 이를 실제 설계에 녹여내는 것 사이에 간극이 존재한다는 점을 체감하게 되었고, 결국 이를 극복하기 위해서는 다양한 사례를 직접 설계해보며 경험을 쌓는 과정이 필요하다는 생각이 들었다.
🧐 Learned (배운 점)
객체지향 설계를 할 때 어디서부터 접근해야 하는지에 대해 큰 깨달음을 얻었다. 이전까지는 먼저 이 도메인에 어떤 클래스들이 존재할지를 떠올리고, 각 클래스가 어떤 상태와 행동을 가져야 하는지를 고민해왔다. 그러나 이런 방식은 특정 객체에 책임이 과도하게 집중되게 만들었고, 클래스를 만들었다가 다시 지우는 과정을 반복하게 했다. 결국 이러한 접근이 적절하지 않았음을 깨달았다.
해결책은 도메인의 협력이라는 관점에서부터 설계하는 것이다. 시스템이 주고받는 메시지를 중심으로 먼저 책임을 정의하고, 하나의 객체가 그 책임을 감당하기 어렵다면 다른 객체에 역할을 위임하는 방식으로 설계를 풀어나가는 것이 바람직하다는 점을 깨달았다.
🤗 Longed for (앞으로 바라는 점)
디자인 패턴에 대해 공부해보면 좋을 것 같다고 생각했다. 그동안은 디자인 패턴에 대해 다소 회의적인 시각을 가지고 있었다. 패턴을 익히다 보면 협력을 설계할 때 도메인의 맥락보다는 패턴에 맞춰 구조를 끼워 맞추게 되는 것은 아닐까 하는 우려가 있었기 때문이다.
하지만 이번 활동을 마치면서도 여전히 객체지향에 대한 이해가 부족하다는 점을 체감했고, 그 이유는 다양한 사례를 충분히 접해보지 못했기 때문이라고 생각하게 되었다. 디자인 패턴은 객체지향 설계의 모범적인 사례이다. 이런 사례들을 많이 접해본다면, 객체지향을 바라보는 관점도 자연스럽게 넓어지지 않을까 싶다.
'우테코 8기 > 본과정 회고' 카테고리의 다른 글
| [우테코 8기] 5주차 회고 (0) | 2026.03.29 |
|---|---|
| [우테코 8기] 3주차 회고 (0) | 2026.03.15 |
| [우테코 8기] 2주차 회고 (0) | 2026.03.08 |
| [우테코 8기] 1주차 회고 (0) | 2026.03.01 |