
main 함수에서 관리하던 전체 순서 제어를 Kiosk 클래스를 통해 관리Kiosk클래스 생성MenuItem을 관리하는 리스트가 필드로 존재start 메서드를 생성하여 반복문 로직을 관리List<MenuItem> menuItems는 Kiosk 클래스 생성자를 통해 값을 할당Kiosk 객체를 생성하고 사용하는 main 함수에서 객체를 생성할 때 값을 넘겨줌0을 입력하면 프로그램이 뒤로가기, 종료 되도록 설계Menu 클래스 생성 -> (CategoryMenu)MenuItem 클래스를 관리하는 클래스 (HamburgerMenu, BeverageMenu)MenuItem을 포함카테고리 이름 필드 사용git pull origin main --allow-unrelated-histories 사용Category 리스트를 어떻게 가지고 와서 사용해야할지 의문
카데고리에서 어떤 메뉴를 선택하더라도 메뉴를 출력할 수 있도록 해야하는 동적인 코드를 어떻게 짜야할지 의문
리스트 안에 리스트가 존재하는 리스트도 객체이기 때문에 get메서드를 사용해서 객체를 불러오고 그 객체안에 값들 또한 객체이므로 get메서드를 사용함
동적인 코드를 짜기 위해서 인터페이스를 사용 -> 인터페이스 공통 기능을 구헌하는 역할
kiosk 안에서 해결해야하는 문제이기 때문에, 장바구니 객체를 생성하고 장바구니 타입의 리스트를 생성하여 키오스크 안에서 적용 되도록 설계
메뉴는 어떤 메뉴를 선택할지 모르기 때문에 공통타입으로 설정
메뉴를 장바구니 객체 생성 시 매개변수로 사용 -> 장바구니 타입의 리스트 안에 넣기 위해
장바구니 타입의 객체를 장바구니 타입의 리스트에 추가
스트림을 좀 더 학습하고 해결, 리스트 안의 값을 간단하게 처리하는 방법으로 처리
모든 스트림을 chatgpt를 사용하지 않았지만 일부 사용하여 개인적으로 아쉬움..