본문 바로가기

엄마의 성장일기🌱

🌱 엄마의 코딩성장기록 Day 99 - 자판기 프로젝트의 시작: 아이들의 웃음에서 찾은 코딩의 로직

어제는 긴 여정을 마무리했고, 오늘은 그 다음 장면을 살짝 미리 보고 왔습니다.

아이들 손을 잡고 동네 자판기를 보러 다녀왔거든요.

유리 너머로 가지런히 서 있는 음료들, 동전이 떨어질 때의 맑은 소리, 그리고 버튼 하나에 반응하는 단순하고 정확한 움직임.

그 모습을 보며 나도 모르게 혼잣말을 내뱉었습니다.

“아, 이거구나.”

머리로만 상상하던 로직이 눈앞에서 조용히 작동하고 있었습니다.

아이들은 버튼을 누르는 찰나의 순간을 제일 좋아했지만, 저는 그 옆에서 자판기의 내부 '상태(State)'를 상상했습니다.

  • 대기 상태: 사용자를 기다리는 정적인 순간
  • 입금 상태: 돈이 들어오고 금액을 계산하는 과정
  • 선택 및 배출: 또박또박 결과를 내어주는 정확한 흐름

복잡할 것 같던 마음이 실제 작동하는 모습을 보니 조금은 단순해지고 명확해졌습니다.

 

### 쓸데없는 힘이 준 커다란 위로 

집에 돌아와서는 아두이노 LCD에 한글 한 글자를 띄우기 위해 도트를 찍던 시간이 떠올랐습니다.

"C++ 공부 안 하고 엉뚱한 데 힘 뺐다"며 웃어넘겼지만, 사실 그 작은 글자가 화면에 나타나는 순간이 오늘의 저를 살짝 앞으로 밀어준 것 같습니다.

완벽하지 않아도 괜찮습니다.

오늘은 ‘보았다’는 사실만으로 충분한 날이니까요.

 

### 클래스로 잡은 자판기의 '각' 

머릿속에 맴도는 생각들을 잊기 전에 클래스로 살짝 각을 잡아보았습니다.

  • Product: 상품의 정보를 담는 그릇
  • MoneyState: 돈의 흐름을 관리하는 로직
  • Remaining: 재고를 파악하는 꼼꼼함

무슨 소린지 저도 다 이해하지 못한 채 적어 내려간 코드였지만, AI와 대화하며 이 구조가 객체지향의 '포함(Composition)' 관계라는 걸 배웠습니다.

부품을 하나씩 조립하듯, 저의 자판기도 조금씩 형체를 갖춰가겠지요.

내일은 한 줄을 더 이해하고, 그 다음 날은 한 줄을 내 힘으로 써보려 합니다.

조용히, 하지만 분명하게 저는 지금도 앞으로 가는 중입니다.

잘 자요, 내일의 나.

그리고 설 연휴의 시작을 멋진 설계와 함께하는 오늘의 나.

 

#C++ #객체지향 #자판기프로젝트 #아두이노 #개발일기 #완강후기 #일상코딩