향상된 for 문을 사용하면서 list를 추가해서 작성하는 게 좀 어렵더라고요. 그래서 몇 줄 적는 데 되게 오래 걸렸습니다.

menu는 매 반복마다
1번째: "김밥"
2번째: "라면"
3번째: "떡볶이"
처럼 바뀜
즉, List가 만들어져 있는 상태에서 가져온다 = for (String menu : menus) 이 한 줄이 끝임
for (Product p : basket) {
// p 사용
}
여기서 “p 타입이 왜 Product냐?”
List<Product> basket = new ArrayList<>();

이렇게 되어서 Product는 기본형이 아닌 클래스 타입 이여서 for-each에서 사용 되는 거임
->햇갈려서 공부한 내용
// 중복 없애기
public List<Product> getOverLab() {
List<Product> overlab = new ArrayList<>();
for (Product product : products) {
boolean run = false;
for (Product product1 : overlab) {
if (product1 == product) {
run = true;
break;
}
}
if (!run) overlab.add(product);
}
return overlab;
}
// 재고 차감
public int getCount(Product c) {
int count = 0;
for (Product product : products) {
if (product == c) count++;
}
return count;
}
private void systemDeductStock() {
for (Product p : basket.getOverLab()){
int cnt = basket.getCount(p);
p.setInventory(p.getInventory()-cnt);
}
}
놀랍게도 10시간 머리 쥐어뜯으면서 작성한 게 이게 다입니다. 그래도 아직 잘 모른다는 게 아쉽습니다.
(중복 없애기 에서)
중간에 if (!run) overlab.add(product); 이 구문에서! 빼먹고 통과가 돼서 차감이 안되는 일이 발생했습니다. 코드를 한 6번 정도 지우고 쓰고 하다가 해결했습니다.