동작 파라미터화 코드 전달하기


동작  파라미터화 코드 전달하기

Predicate Member에서 사용할 Predicate를 만든다. 나이에 따라서 구별하기 위해 AgePredicate를 만들고 test 메서드를 구현한다. 성별에 따라서 구별하기 위해서 GenderPredicate를 만들고 test 메서드를 구현한다. 사용할 때는 위와 같이 하면 된다. filterMembers를 만들고 인자로 MemberPredicate interface를 받는다. 사용할 때는 구현체를 넘겨준다. 결과는 다음과 같다. 익명 클래스 익명 클래스를 사용할 수 있다. MemberPredicate interface를 파라미터로 넘겨주고 직접 구현하면 된다. 하지만 코드가 지저분해진다. 람다 람다를 사용하면 더 간결하게 줄일 수 있다. Generic 제너릭을 사용하면 더 일반화 시켜서 사용할 수 있다. 또한 오직 하나의 추상 메서드만 지정하기에 함수형 인터페이스다. 메서드를 인수로 전달 가능 결과도 똑같이 나온다. 정리 동작 파라미터화에서는 메서드 내부적으로 다양한 동작...


#predicate #람다 #모던자바인액션 #익명클래스 #자바 #자바8

원문링크 : 동작 파라미터화 코드 전달하기