TIL)프로그래밍 기초_23.05.31(개인과제!)

주민·2023년 5월 31일
0

TIL

목록 보기
9/84

어제만든 방식이 아닌거 같아서 엎고 다시 만들기로 했다.
그리고 오전에 코드리뷰와 튜터님 설명이 있어서 참고해서 만들었다.
TIL 작성법

코드리뷰 & 튜터님 설명

  • 추가 기능까지 한다면 hashMap 추천
    1. 어떤 요구사항을 받았나
      -> 각 클래스 만들고 역할을 생각해볼것
    1. 클래스(참고용)
      -> 상품 : 상품 화면이 아니라 상품 자체의 내용
      -> 메뉴 : 메인메뉴 내용
      -> 주문 : 장바구니/ 장바구니 추가, 삭제, 주문
      -> main은 가져와서 실행만
      -> 스크린 : 내용 출력
  • 객체지향은 여러 객체를 만들어 활용하는 것, 객체 없이 순서대로 작성하는 것은 절차 지향적임
  • 객체지향 설명
    -> 추상 클래스와 인터페이스 거의 동일하며 추상 클래스를 인터페이스로 바꿀 수 있다.
    -> 인터페이스 :여러 클래스들을 행위로 묶은 것(회전하다 -> 선풍기, 헬리콥터)
    -> 추상 클래스 : 구체적인 여러 클래스들을 일반화된 개념으로 묶은 것(동물 -> 사람,참새, 고양이)

문제(java)

가상의 메뉴판을 하나 만들고 상품을 선택하여 주문하기, 취소하기에 기능을 가진 키오스크 만들기

  • 메인 메뉴판 -> 상품 메뉴판 -> 구매화면 -> 주문화면 -> 주문완료 화면 -> 주문취소 화면
  • 필수 요구사항
    - 메뉴 클래스는 이름, 설명 필드를 가지는 클래스로 만들어주세요.
    - 상품 클래스는 이름, 가격, 설명 필드를 가지는 클래스로 만들어주세요.
    - 상품 클래스의 이름, 설명 필드는 메뉴 클래스를 상속받아 사용하는 구조로 개발해주세요.
    - 주문 클래스도 만들어서 상품 객체를 담을 수 있도록 해주세요.

문제풀기

  • 각 화면을 print로 만들고 선택해야하는 부분은 Scanner를 사용하기
  • 다른 화면으로 이동은 페이지별 메서드 만들어서 main에서 호출
  • 선택지가 많은 경우 swich문 사용
  • 메뉴 클래스(부모), 상품 클래스(자식) 으로 선언한 필드 상속
  • 기본 클래스 메뉴,상품,주문에 출력용으로 스크린,키오스크 추가하여 진행

각 메뉴를 print로 만들고 이동시 필요한 정보(input)은 scanner로 받아서 정보에 따라 맞는 페이지를 출력한다.

++ 기존에 필드를 여러개 만들어서 진행했는데 다시 필드 3개로 선언하여 메서드로 만들어 출력


오류 & 해결

  1. 어제한 내용과 달리 필드 3개로 name, detail, price 세트를 3개 출력할 방법을 찾아야 한다. 처음엔 2차 배열을 생각했으나 고정된 값이니 더 간단한 방법이 좋을거 같아서 필드 선언 후 메서드로 출력 했다.
  public void mainmenu(int num, String name, String detail){
      System.out.println(num + ". "+ String.format("%-10s",name) +"|"+ detail);
  }

  Product product = new Product();
  product.mainmenu(1,"Coffee","다양한 원두가 있는 커피");
  1. 같은 클래스 내에 있는 메서드를 불러오는 법
    product.mainmenu 만 보다가 같은 클래스는 잠깐 헷갈렸다,확인용으로 적어둠
this.Coffee();
this.NonCoffee();

0개의 댓글

관련 채용 정보