3주차 미션 - 로또
https://github.com/Lee-Sunho/kotlin-lotto/tree/Lee-Sunho
달라진 점
1. 상수 및 문자열을 하드 코딩하지 않는 것
따로 constants 패키지 안에 Constant 클래스와 Message 클래스를 만들고 각각 companion object 안에 상수 및 문자열들을 정의함으로써 하드 코딩을 하지 않을 수 있었다.
2. 패키지 및 클래스의 분리
이번 주에 추가된 요구사항 중 하나는 클래스의 분리였다. MVC 패턴에 따라 패키지 및 클래스를 분리하려고 노력했고 그 결과 더 객체 지향적이고 체계적인 코드를 작성할 수 있게 되었다.
배운 점
1. 코틀린의 클래스
코틀린의 클래스는 아예 처음 써보기 때문에 기본적인 문법 공부가 필요했다. 생각보다 자바의 클래스와 꽤 많이 다른 문법을 가지고 있었다. 주 생성자와 부 생성자, init, companion object 등 코틀린에만 존재하는 문법을 익힐 수 있었고 과제에 적용할 수 있었다.
https://zzang9ha.tistory.com/391
2. MVC 패턴
도메인과 UI를 분리하여 구현하기 위해 고민하던 중 MVC 패턴을 알게 되었다. 디자인 패턴 중 하나인 MVC 패턴을 참고하여 구현할 기능들을 어떻게 분리할 것인지에 대한 가이드라인을 정할 수 있게 되었다.
https://m.blog.naver.com/jhc9639/220967034588
3. 객체 지향 프로그래밍
학교에서 자바를 통해 객체 지향 프로그래밍에 대해 배운적이 있지만 실제 프로젝트에서 객체 지향의 특징을 살려서 제대로 코딩해본 경험이 거의 없었기에 어떠한 사고 방식으로 클래스를 나누고 설계해야할지 감이 잘 오지 않았다. 따라서 많은 블로그들을 참고하여 객체 지향의 개념부터 천천히 읽어보면서 객체 지향 프로그래밍에서 중요하게 신경써야 할 것들을 정리하고 이번 미션을 수행하는데 적용할 수 있도록 노력하였다.
https://techblog.woowahan.com/2502/
https://limkydev.tistory.com/77
다음 주차 다짐
마지막 미션인 만큼 프리코스 기간 동안 배웠던 것들을 체화하는 것!
'우테코 회고록' 카테고리의 다른 글
[우테코 회고록] 우아한테크코스 5기 AOS 프리코스 4주차 (0) | 2022.11.25 |
---|---|
[우테코 회고록] 우아한테크코스 5기 AOS 프리코스 2주차 (0) | 2022.11.11 |
[우테코 회고록] 우아한테크코스 5기 AOS 프리코스 1주차 (0) | 2022.11.04 |