Skip to content

Che0807/Kiosk-

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation


필수 기능 가이드

클래스 정의

  • Main: 시작 지점이 되는 클래스, public static void main(String[] args)를 포함.
  • MenuItem: 개별 메뉴 속성을 관리하는 클래스
    • 예: 메뉴 이름, 가격, 설명
  • Kiosk: 프로그램 흐름을 제어하는 클래스
  • Menu: MenuItem을 관리하는 클래스
    • 예: 카테고리별 메뉴들을 포함

Lv 1. 기본적인 키오스크 프로그래밍

  • 요구사항 의도

    • Scanner 활용법, 조건문, 반복문 등을 활용하여 입력 처리 및 흐름 제어
    • 사용자가 메뉴를 선택하고, 종료하는 흐름을 구현
  • 기능

    • 여러 메뉴를 출력하고 사용자가 선택한 메뉴에 따른 처리 구현
    • 반복문을 활용하여 종료 조건 처리

Lv 2. 객체 지향 설계를 적용하여 햄버거 메뉴 관리

  • 요구사항 의도

    • 객체 지향 개념을 학습하고, 데이터를 구조적으로 관리하며 프로그램을 설계하는 방법을 익힘
    • MenuItem 클래스를 사용하여 여러 햄버거 메뉴를 관리
  • 기능

    • MenuItem 클래스 생성 및 이름, 가격, 설명을 필드로 설정
    • 여러 MenuItem 객체를 List로 관리하여 출력

Lv 3. 객체 지향 설계를 적용하여 프로그램 흐름 관리

  • 요구사항 의도

    • 객체 지향 설계의 확장을 통해, 프로그램의 흐름을 Kiosk 클래스에서 관리
    • MenuItem을 관리하는 리스트를 Kiosk 클래스에서 필드로 관리하고, 프로그램 흐름을 제어
  • 기능

    • Kiosk 클래스에서 메뉴 출력 및 사용자 입력을 처리
    • List<MenuItem>을 통해 선택된 메뉴를 출력하고, 종료 조건을 제어

Lv 4. 음식 메뉴와 주문 내역을 클래스로 관리

  • 요구사항 의도

    • Menu 클래스를 통해 카테고리별 메뉴를 관리
    • Kiosk 클래스가 여러 Menu 객체를 관리하여 사용자에게 선택지를 제공
  • 기능

    • 메뉴 카테고리를 분리하여 Menu 클래스로 관리
    • 각 카테고리 내 메뉴 항목을 출력하고, 선택된 항목을 처리

Lv 5. 캡슐화 적용

  • 요구사항 의도

    • MenuItem, Menu, Kiosk 클래스에서 필드에 대한 직접 접근을 제한하고, Getter와 Setter 메서드를 활용하여 데이터를 관리
  • 기능

    • 클래스 내 필드를 private으로 설정하고, Getter/Setter 메서드를 통해 데이터에 접근

Lv 6. 장바구니 및 구매하기 기능 추가

  • 요구사항 의도

    • 장바구니 기능을 통해 사용자가 선택한 메뉴를 저장하고, 결제를 진행하는 흐름 제어
    • 객체 지향 설계를 통해 클래스를 분리하고, 각 클래스가 적절히 협력하도록 구현
  • 기능

    • 사용자가 선택한 메뉴를 장바구니에 추가하는 기능
    • 장바구니에 담긴 메뉴와 총 금액을 출력하는 기능
    • 잘못된 메뉴 번호 입력 시 예외 처리

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages