본문 바로가기

내일배움캠프 안드로이드 3기

[TIL] 24.03.13 3주차 개인 과제

1. 3주차 개인 과제

 

 

 이번 주차 과제를 얼추 마무리 했다. 몇몇 요구사항은 저번에 작성한대로 고민을 좀 하다가 타협해서 구현했다. 내가 코틀린 자체에 익숙한게 맞는가 싶어서, 다양한 기본 라이브러리 요소를 써보려고 노력했던 것 같다.

 항상 아침에 코드카타라고 간단한 알고리즘 문제를 풀면서 시작하는데, 계속 C++로 풀다가 요즘들어 코틀린으로 풀면서 내가 코틀린 이해도가 좀 낮다는 생각이 들었기 때문이다. 원래부터 코딩 테스트를 C++로 준비했고, 학교 수업 때도 진득하게 써서 언어 측면에서 보면 C++은 익숙한데 코틀린은 마냥 그렇지 않았다. 안드로이드를 구현하는데에 자주 쓰이는 코틀린 라이브러리들이야 익숙하지만, 그렇지 않은 라이브러리들을 쓸 때 좀 버벅이는 느낌?

 

 이런 이유로, DateTime이나 기본적인 File I/O, 오리지널한 Thread 작업, 다양한 String 처리 등을 경험하는 것을 중점적으로 했다. 물론, 원래 이 과제의 의도인 OOP적인 코틀린 문법 사용이나(상속이나 접근 제한자 등), 컬렉션의 적절한 활용 등 또한 충분히 녹여내려고 노력했다. 카페의 키오스크를 가정해서 구현했고, 콘솔 상에서 메뉴 확인 및 주문이 가능하다. 예산을 입력받아 주문에 제한이 생길 수 있게 했고, 주문이 정상적으로 처리되고 나면 텍스트 파일로 영수증이 생성되게 했다. 의도하지 않은 입력들에 대한 예외처리도 되어 있다.

 

 예전에 전공수업 때 제출했던 텀 프로젝트만큼 복잡하고 디테일한 기능까지 구현하지는 않아서 타이트하게 하면 금방 끝낼 수 있었을텐데 하는 아쉬움이 남는다. 그래도 내일부터는 다시 사이드 프로젝트에 온전하게 신경을 쏟을 수 있을 것 같다!

 

winteryy/nbc_kiosk (github.com)

 

GitHub - winteryy/nbc_kiosk

Contribute to winteryy/nbc_kiosk development by creating an account on GitHub.

github.com