[자바] 리스트에서 특정 요소의 데이터 가져오기 getter

이희수·2025년 1월 14일

키오스크 기능을 구현하면서 원하는 메뉴의 번호를 선택하면 해당 메뉴에 대한 이름/가격/설명만 출력되도록 하고 싶었는데, 모든 메뉴의 정보가 다 나오는 문제가 있었다. 아래와 같이 출력되었다.

모든 메뉴가 출력되었던 이유는 menuItemX.getMenuItem()을 호출했을 때 선택한 메뉴만 출력하는 대신,
getMenuItem이 반환하는 문자열을 그대로 출력하기 때문이었음!
문제는 getMenuItem 메서드가 메뉴 이름, 가격, 설명을 전부 포함한 문자열을 반환하도록 설계되어 있다는 점에 있었다.

아래 두가지를 수정할 필요가 있었다.

  1. 각 데이터에 접근할 메서드를 별도로 추가하여 필요한 정보만 가져오도록
  2. switch 구문에서 getMenuItem() 대신 필요한 데이터만 출력하도록 변경

MenuItem 클래스에서 getMenuItem 대신, 이름/가격/설명의 정보를 가져오는 get메서드를 각각 생성했다.

main메서드 에서는 선택된 메뉴의 이름/가격/설명을 각각 가져와 출력하게 했다.

0개의 댓글