모던 자바 인 액션 2장 : 동적 파라미터화 코드 전달하기

Adam·2024년 6월 18일
0

모던 자바 인 액션

목록 보기
2/20

동적 파라미터: 아직 어떻게 실행할 것인지 결정하지 않은 코드블럭

동적 파라미터를 사용하면 프로그램을 변화에 유연하게 짜는것이 쉽다

2.1 변화하는 요구사항에 대응하기

거의 비슷한 코드가 반복 존재한다면 그 코드를 추상화해서 변화에 유연하게 대응 가능

2.2 동적 파라미터화

동적 파라미터화의 강점: 탐색 로직과 각 항목에서 적용할 동작을 분리할 수 있다는 점

filterApples 메서드는 ApplePredicate객체에 의해 결정(filterApples의 동작을 파라미터화 했다)

2.3 복잡한 과정 간소화

익명 클래스를 활용해 로직과 관련 없는 코드를 많이 간소화 할 수 있다.

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

하지만 익명 클래스를 사용해도 코드의 가독성이 나빠 구현하고 유지보수하는데 시간이 오래 걸린다

2.4 실전 예제

Comparator

Comparator을 사용해 다양한 sort 메서드를 구현 가능

Runnable로 코드 블록 실행

자바 스레드를 이용하면 병렬로 코드 블록을 실행 할 수 있다

Runnable을 이용해서 다양한 동작을 스레드로 실행 가능

Callable을 결과로 반환

ExecutorService를 이용하면 테스크를 스레드 풀로 보내고 결과를 Future로 저장 가능

GUI 이벤트 처리

실제 프로그램에서는 다양한 인풋이 존재하고 이를 유연하게 대응할 수 있는 코드가 필요

profile
Keep going하는 개발자

0개의 댓글