카카오 채용연계형 인턴십 문제
를 풀었다. 왜 OOP인가
시리즈를 마무리 지어야겠다. 초안의 초안의 초안
정도를 완성했다. 가장 먼저 과제의 추가 요구기능까지 포함한 큰~~ 틀을 잡았다.
다음으로, 최소 요구사항 구현을 위한 시나리오를 작성했다.
- 보안을 위해 글씨를 최대한 악필로 작성했다. (아무튼 그렇습니다... 예.. 악필입니다..)
// main.java
package org.example;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Customer.getMenu();
Scanner sc = new Scanner(System.in);
System.out.println("원하시는 메뉴를 입력하세요");
String drink = sc.nextLine();
System.out.println("현재 보유 현금을 순순히 부세요");
int money = sc.nextInt();
Customer seonghyun = new Customer(money, drink);
seonghyun.orderDrink();
}
}
// Cafe.java
package org.example;
import java.util.Arrays;
public class Cafe {
private int totalSales;
private static String[][] menu = {{"아이스아메리카노", "1000"}, {"라떼", "1500"}, {"밀크티", "2000"}, {"밀크쉐이크", "3000"}, {"캐모마일", "4000"}};
public void addSales(int sales) {
this.totalSales += sales;
}
public int getTotalSales() {
return totalSales;
}
public static String menuReturn() {
return Arrays.deepToString(menu);
}
}
// Customer.java
package org.example;
public class Customer {
private int money;
private static String drink;
public static void getMenu() {
System.out.println(Cafe.menuReturn());
}
public void orderDrink() {
System.out.println("직원에게 " + drink + "를 주문했습니다.");
Employee.getOrder(drink);
// 직원.getOrder >> 직원한테 전달하는거
// if(money < 카페 메뉴의 가격 ){
// 프린트(너는 주문할 돈이 없다 이놈아)
// } else {
// money -= 카페메뉴의 가격
// }
}
public Customer(int money, String drink){
this.money = money;
this.drink = drink;
System.out.println(drink);
System.out.println(money);
}
}
// Employee.java
package org.example;
public class Employee {
public static void getOrder(String drink){
System.out.println("직원: 주문하신 " + drink + "나왔습니다. ");
}
}
일단 작동하는 코드를 완성했음에 의의를 두고 싶다.
- 사실 작동하는 척(?) 하는 코드라고 보는게 맞다.
- 내일 코드의 내실을 채워, 최소 요구사항에 맞게 제대로 작동하는 코드를 완성하고,
- 그 다음에 추가 요구사항들도 만족하는 코드를 작성하는 것을 목표로 갈 예정이다.
(수요일부터 진행되는 프로젝트의 선행학습 차원에서 할 수 있는 모든 것들을 도전해보고자 한다.)
보안을 위한 악필.... 저도 참고하겠읍니다!