2025/04/29 5

키오스크 과제 정리 & 회고

요구 사항 정의https://gajicoding.tistory.com/250 요구사항 정의필수 기능Lv 1. 기본적인 키오스크를 프로그래밍해보자Lv 2. 객체 지향 설계를 적용해 햄버거 메뉴를 클래스로 관리하기Lv 3. 객체 지향 설계를 적용해 순서 제어를 클래스로 관리하기Lv 4. 객체 지gajicoding.tistory.com새롭게 알게된 문법가변 인자 (...)Map - compute(), computeIfAbsent(), computeIfPresent()가변 리스트 vs 불변 리스트키오스크 과제 학습 목표(체크리스트) ☑️ 완료, ✖️ 실패, △ 미흡☑️ 클래스를 작성하고 객체를 생성하여 활용할 수 있는가?☑️ 컬렉션을 활용해 여러 개의 값을 저장하고 조작할 수 있는가?☑️ 메서드를 정의하고 호출..

요구사항 정의

필수 기능Lv 1. 기본적인 키오스크를 프로그래밍해보자Lv 2. 객체 지향 설계를 적용해 햄버거 메뉴를 클래스로 관리하기Lv 3. 객체 지향 설계를 적용해 순서 제어를 클래스로 관리하기Lv 4. 객체 지향 설계를 적용해 음식 메뉴와 주문 내역을 클래스 기반으로 관리하기Lv 5. 캡슐화 적용하기 도전 기능Lv 1. 장바구니 및 구매하기 기능을 추가하기Lv 2. Enum, 람다 & 스트림을 활용한 주문 및 장바구니 관리 필수 기능 Lv 1. 기본적인 키오스크를 프로그래밍해보자학습 목표입력 처리와 간단한 흐름 제어 복습Scanner 활용법, 조건문, 반복문을 재확인하며 입력 데이터를 처리하는 방법 강화요구사항 정의햄버거 메뉴 출력 및 선택하기햄버거 메뉴를 출력print 문을 사용하여, 햄버거 메뉴를 term..

가변 리스트 vs 불변 리스트

가변 리스트ArrayList, LinkedList와 같은 클래스를 사용하여 가변 리스트를 선언할 수 있다.List mutableList = new ArrayList();mutableList.add("Item 1");mutableList.add("Item 2"); 가변 리스트 특징가변성(Mutable): 리스트의 내용을 변경할 수 있다.항목을 추가하거나 삭제할 수 있다.동적 크기 조정: 리스트의 크기가 필요에 따라 자동으로 확장된다. 가변 리스트 장단점장점유연성: 리스트의 내용을 쉽게 수정할 수 있기 때문에 데이터의 변화가 잦은 경우 유용하다.성능: 데이터를 자주 수정하는 경우 성능이 더 뛰어난 경우가 많다.단점데이터 안전성 부족: 가변 리스트는 여러 스레드에서 동시에 접근할 때 데이터 무결성 문제가 발생..

Java/문법 2025.04.29

Map - compute(), computeIfAbsent(), computeIfPresent()

키의 존재 여부에 따라 값을 계산하고, Map을 자동으로 갱신해주는 메서드들compute()computeIfAbsent()computeIfPresent() * Java 8부터 Map 인터페이스에 추가되었다.기존 방식if (map.containsKey(key)) { map.put(key, map.get(key) + 1);} else { map.put(key, 1);}compute() - 키가 있든 없든, 값을 저장지정한 키에 대해 값을 계산해서 저장한다.키가 이미 존재하면 그 값을 기반으로 새 값을 계산한다.키가 없어도 계산 함수는 실행된다.계산 결과가 null이면 해당 키는 Map에서 삭제된다.V compute(K key, BiFunction remappingFunction)Map map = ..

Java/문법 2025.04.29

가변 인자 (...)

가변 인자 (Varargs, Variable Argument ) 란?메서드를 호출할 때 인자의 개수를 유동적으로 받을 수 있도록 해주는 Java 문법가변 인자를 사용하면 하나의 인자로 여러 개의 인자를 받을 수 있다.public void printNames(String... names) { for (String name : names) { System.out.println(name); }}print(); // 아무 것도 출력 안 됨print("Hello"); // Helloprint("Hello", "World", "Java"); // Hello / World / Java..

Java/문법 2025.04.29