Kiosk 클래스의 start 메서드에서 printMenu 메서드를 호출할 때, 프로그램은 전체적으로 실행되었지만, 원치 않는 출력이 추가로 표시되는 문제가 있었습니다.
매개변수 추가
printMenu 메서드에 boolean isRunning 매개변수를 추가하여, 프로그램의 실행 상태를 기반으로 출력 로직을 제어할 수 있도록 수정했습니다.
호출부 수정
start 메서드에서 isRunning 변수를 적절히 갱신하면서, 이를 printMenu에 전달하도록 업데이트했습니다.
public void start() {
while (true) {
printMenu(cart, scanner);
}
}
private void printMenu(Cart cart, Scanner scanner) {
System.out.println("Menu options...");
// 잘못된 상태에서 불필요한 출력 발생
}


이 문제를 해결하면서 프로그램 실행 흐름 제어의 중요성을 깨달았습니다. 특히, 상태를 관리하는 변수를 명확히 정의하고, 이를 적절히 활용하는 것이 프로그램의 안정성과 유지보수성을 크게 높인다는 점을 배웠습니다.
또한 불필요한 출력을 제어하는 과정에서 로직 설계 단계에서의 매개변수 선정이 얼마나 중요한지를 실감했습니다. 이 경험을 바탕으로, 앞으로는 메서드 설계 시 매개변수로 전달해야 할 상태나 조건을 사전에 꼼꼼히 고려할 것입니다.