본문 바로가기

앱 개발/Chapter_Curriculum

[과제] 피드백 (키오스크)

1) display 함수 내에서 많은 것을 처리하고 있으므로 더 세분화하면 좋을 것.

 

예를 들어 VanillaIceCreamMenu 안에 바닐라 익스트림, 벨기에 초코 토핑, 캐러멜, 스트로베리를 println으로 출력하고 있는데 data class VanillaExtreme(...): VanillaIceCreamMenu(...) 형태로 상속을 한번 더 하면 좋을 것임.

(Menu > IceCreamMenu > VanillaIceCreamMenu > VanillaExtreme, VanillaBelgiumChoco, VanillaCaramel, VanillaStrawBerry 식으로..)

그리하면 printSubMenu에서 일일이 다 작성하지 않고 list에 각각의 item을 담은 뒤 for 루프를 통해 출력이 가능해질 것.

 

 

2) readLine()은 main() 함수의 역할이지 각 subMenu class의 역할은 아님.

 

입력받는 코드는 각각의 Menu 클래스 내에 있는 것이 아니라 main에 위치해야 하고, 각 Menu 클래스들은 단순히 Menu를 나타내기 위한 용도로 사용되어야 함.

현재 코드는 각 메뉴 클래스가 출력도 하고 입력도 받아야 하는 다중 책임을 가지고 있어서 단일책임원칙에 어긋남.

 

 

3) 소감

 

입력과 출력 기능 구현을 통해 단일책임원칙(single responsibility principle)이 어떠한 것인지 실제로 경험할 수 있었고, 클래스도 필요에 따라 추가 및 세분화하여 상속을 최대한 활용해야 함.

728x90

'앱 개발 > Chapter_Curriculum' 카테고리의 다른 글

[과제] Android 입문  (0) 2024.03.22
Chapter3-1 (앱 개발 입문)  (0) 2024.03.20
Chapter2 (프로그래밍 문법)  (0) 2024.03.12
[미니 프로젝트] Binding  (0) 2024.03.04
[미니 프로젝트] ProfileActivity  (0) 2024.02.29