오늘의 학습 키워드

  1. static 키워드
  2. 메소드 호출
  3. Map

1. static 키워드

  • static 메소드 안에서는 static 변수와 static 메소드만 호출이 가능하다.
public class Main {
    public static Scanner sc = new Scanner(System.in);
    public static ArrayList<Item> cart = new ArrayList<>();
    public static void main(String[] args) {
        firstdisplay();
    }

    public static void firstdisplay(){
        System.out.println("SHAKESHACK BURGER 에 오신걸 환영합니다.");
        System.out.println("아래 메뉴판을 보시고 메뉴를 골라 입력해주세요.");
        System.out.println();
        printshakeshackMenu();
        printorderMenu();
        inputMenu();
    }
    ...
  • 이처럼 main 메소드는 static 키워드를 가지고 있기 때문에 main 메소드 안에서 호출, 접근하는 메소드와 변수는 모두 static 키워드로 선언되어 있어야 한다.

2. 메소드 호출

  • 메소드 안에서도 또 다른 메소드 호출이 가능한 점을 이용하면 코드를 보다 간결하게 작성할 수 있다.
  • if문 등 복잡하게 작성하려고 할 때 메소드를 작성하여 호출하면 보다 쉽게 코드를 작성할 수 있다.

3. 자료 구조 Map

  • 이번 키오스크 개인 과제에서는 Map을 주로 이용하여 진행하였다.
  • Map의 특징으로는 key-value 구조이지만 순서가 없다.
  • 그렇기 때문에 순서대로 출력하는 결과를 갖고싶으면 Array에 key를 따로 저장하고 for문과 get을 통해서 가져와야 한다.
[SetMenu 클래스]

static Map<String, Item> beerItem = new HashMap<>();
    static String[] menuname_beer;
    static void getBeerItem(){
        beerItem.put("ShackMeister Ale", new Item("ShackMeister Ale", 9.8, "쉐이크쉑 버거를 위해 뉴욕 브루쿨린 브루어리에서 특별히 양조한 에일 맥주"));
        beerItem.put("Magpie Brewing Co.", new Item("Magpie Brewing Co.", 6.8, ""));
        menuname_beer = new String[] {"ShackMeister Ale","Magpie Brewing Co."};
    }
[Main 클래스]

public static void printBeerMenu(){
        System.out.println("SHAKESHACK BURGER 에 오신걸 환영합니다.");
        System.out.println("아래 상품메뉴판을 보시고 상품을 골라 입력해주세요.");
        System.out.println();
        System.out.println("[ Beer MENU ]");
        SetMenu.getBeerItem();
        int num = 1;
        for (String beer : SetMenu.menuname_beer){
            Item item = SetMenu.beerItem.get(beer);
            System.out.println(num++ + ". " + item.name + " | " + item.discription);
        }
        System.out.println();
        choice();
    }

오늘의 회고

하루종일 키오스크 개인 과제만 했다. 정말 코드의 세계는 너무 무궁무진하고,,깊은 것 같다. 오늘 얻은 지식 중에 제일 기억에 남는 것은 메소드 안에서 메소드 호출하면 보다 간편하게 코드를 작성할 수 있다는 것이다. 어렵게 if문, while문 등(그렇게 어렵지 않았지만,,)을 이용하는 것 보다 더욱 가독성도 높고 더욱 쉽게 작성할 수 있었다. 내일은 오늘 만든 키오스크 코드에서 디벨롭하고 추가 선택 사항도 작성해서 제출해야겠다.

profile
안녕하세요

0개의 댓글