함수 객체와 람다는 알고리즘에 “동작”을 주입하는 객체다

비교자, 조건자, 변환 함수는 모두 알고리즘의 빈칸을 채우는 callable입니다. 상태가 필요하면 객체가 되고, 짧으면 람다로 씁니다.

조건자 predicate
원소를 남길지 판단합니다.
[](int x){ return x > 0; }
비교자 comparator
두 원소의 순서를 정합니다.
[](a,b){ return a.age < b.age; }
변환 함수 transformer
입력 원소를 새 값으로 바꿉니다.
[](int x){ return x * x; }
마무리 기준: 알고리즘은 범위를 처리하고, callable은 그 범위 안에서 “어떻게 판단하고 바꿀지”를 결정합니다.