<aside>
💡 ***이 장의 내용
변화하는 요구사항에 대응
동작 파라미터화
익명 클래스
람다 표현식 미리보기
실전 예제 : Comparator
, Runnable
, GUI
***
</aside>
우리가 어떤 상황에서 일을 하든 소비자 요구사항은 항상 바뀐다!
- 변화하는 요구사항은 소프트웨어 엔지니어링에서 피할 수 없는 문제다.
- 시시각각 변하는 사용자 요구사항에 어떻게 대응해야 할까?
- 새로 추가한 기능은 쉽게 구현할 수 있어야 한다.
- 또한, 장기적인 관점에서 유지보수가 쉬워야 한다.
동작 파라미터화을 이용하면 자주 바뀌는 요구사항에 효과적으로 대응할 수 있다.
- 동작 파라미터화
- 아직은 어떻게 실행할 것인지 결정하지 않은 코드 블록
- 코드 블록의 실행은 나중으로 미뤄진다.
→ 결과적으로 코드 블록에 따라 메서드의 동작이 파라미터화된다.
- 대신, 동작 파라미터를 추가하려면 쓸데없는 코드가 늘어난다.
2.1 변화하는 요구사항에 대응하기
변화에 대응하는 코드를 구현하는 것은 어려운 일이다.
- 하나의 예제를 선정한 다음, 예제 코드를 점차 개선하면서 유연한 코드를 만들어 보자.
2.1.1 첫 번째 시도 : 녹색 사과 필터링