람다란 무엇인가 - 02. 익명 클래스와 람다로 코드 개선하기

익명 클래스를 통해 동작 파라미터화를 개선해 보자.

익명 클래스

이름이 없는 클래스.
익명 클래스를 이용하면 클래스 선언과 인스턴스화를 동시에 할 수 있다.

익명 클래스를 이용해 필터링을 구현해 보자.

List<Apple> redApples = filterApples(inventory, new ApplePredicate() {
    public boolean test(Apple) {
        return RED.equals(apple.getColor());
    }
})

람다 표현식을 이용하면 더 간단하게 구현할 수 있다.

List<Apple> result = filterApples(inventory, (Apple apple) -> RED.equals(apple.getColor()));

다음 장에서 람다에 대해 알아보자.