2장
1. 변화하는 요구사항에 대응하기
1.1. 첫 번째 시도 : 색상 필터링
enum Color { RED, GREEN };public static List<Apple> filterGreenApples(List<Apple> inventory) {
List<Apple> result = new ArrayList<>();
for (Apple apple : inventory) {
if (GREEN.equals(apple.getColor())) {
result.add(apple);
}
}
return result;
}1.2. 두 번째 시도 : 색의 파라미터화
1.3. 세 번째 시도 : 플래그 추가
2. 동작 파라미터화
2.1. 네 번째 시도 : 추상적 조건으로 필터링
3. 복잡한 과정 간소화
3.1. 다섯 번째 시도 : 익명 클래스 사용
3.2. 여섯 번째 시도 : 람다 표현식 사용
3.3. 일곱 번째 시도 : 리스트 형식으로 추상화
4. 실전 예제
4.1. Comparator로 정렬하기
4.2. Runnable로 코드 블록 실행하기
4.3. Callable을 결과로 반환
4.3. GUI 이벤트 처리
Last updated