Spring Statemachine 이론부터 토이 프로젝트까지
약간 특이한 자판기가 있습니다. Nickel(5¢, 센트), Dime(10¢), Quarter(25¢) 세 종류의 동전만 넣을 수 있고, 상품은 사과 주스와 오렌지 주스뿐이며 가격은 각각 30센트입니다. 그리고, 거스름 돈 기능이 없어서 30¢까지만 동전 투입이 가능합니다. 예를 들어, 25¢가 이미 들어있는 상태에서는 Nickel(5¢) 동전만 투입할 수 있습니다. Dime이나 Quarter 동전을 넣는다면 그대로 뱉어냅니다. 이런 자판기를 코드로 어떻게 구현해야 할까요? 객체지향에 익숙한 개발자라면 아래와 비슷한 방식으로 구현할지도 모릅니다. class VendingMachine { int numNickels; int numDimes; int numQuarters; OrangeJuice orangeJ..