JAVA

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

응디 2023. 1. 19. 17:32

ApplePredicate 인터페이스를 구현하는 여러 클래스를 인스턴스화 하는 과정이 좀 복잡할 수 있다.

→ 익명 클래스를 사용해 보자

 

익명 클래스란?

자바의 지역 클래스( 블록 내부에 선언된 이름이 없는 클래스 이다.)

익명클래스를 만들면 클래스 선언와 인스턴스화 동시 진행 가능!

다섯번째시도

: 익명 클래스를 사용해보자

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

위의 예제를 보면 클래스를 새로 만들지 않고 익명의 클래스를 만들어서 작성하였다.

그치만 익명의 클래스도 자리를 많이 차지하기 때문에 좀 더 간단하게 사용하도록 !

여섯번째 시도

: 람다 표현식 사용

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

 


동작 파라미터화 정리

  • 동작 파라미터화를 이용하면 변화하는 요구사항에 더 잘 대응할 수 있는 코드를 구현 할 수 있다.
  • 자바8 에서는 인터페이스를 상속받아 여러 클래스를 구현해야하는 수고를 덜 수 있다.

'JAVA' 카테고리의 다른 글

Model Mapper 사용법  (0) 2023.01.26
동작 파라미터화 코드 전달하기(1)  (0) 2023.01.10
int 와 long  (0) 2022.12.27
BDD 스타일 Mockito API  (0) 2022.12.26
Mock 객체 확인  (0) 2022.12.15