오늘은 메서드 분리를 진행했다.
오늘 배운 것 - 메서드 분리
어제 start() 안에 모든 로직을 다 넣었는데 오늘은 역할별로 메서드를 분리했다.
public void start() {
while (true) {
displayCategoryList(); // 1. 카테고리 목록 출력
int inputCategory = returnCategoryNumber(); // 2. 입력값 받기
String signal = selectCategory(inputCategory); // 3. 카테고리 선택
// ...
}
}
start()는 전체 흐름만 관리하고, 각 메서드는 자기 역할만 하는 구조로 만들었다.
훨씬 읽기 편하고 깔끔해졌다.
오늘 헷갈렸던 것 - 객체에서 데이터 꺼내기
객체를 꺼내고 → 그 객체에서 또 꺼내는 흐름이 처음엔 헷갈렸다.
// categoryList에서 Category 객체 꺼내기
Category selectedCategory = categoryList.get(inputCategory - 1);
// 꺼낸 Category 객체에서 상품 리스트 꺼내기
List<Product> productList = selectedCategory.getProductList();
근데 이제는 이 흐름이 자연스럽게 이해된다.
메서드는 하나의 역할만 해야 한다.
start()는 흐름만, 나머지는 각자 역할대로.
오늘 필수과제를 완성했다. 너무 뿌듯하고 더 익숙해지도록 계속 반복 학습할 것이다!