모던 자바 인 액션 Chapter 2-3

송은석·2023년 5월 4일
1
post-thumbnail

자바에 대한 이해를 위해 모던 자바 인 액션 스터디를 진행하고 있습니다. 주에 2-3 챕터 씩 읽고, 이를 정리합니다.

핵심 : 개발 시 자주 바뀌는 요구사항에 쉽게 대응할 수 있는 방법

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

  • 동작 파라미터화 코드는 아직 어떻게 실행할 것인지 결정하지 않은 코드 블록 이라고 할 수 있습니다.
  • 메서드의 인수로 동작 파라미터화한 코드 블록를 전달할 수 있습니다. 이 코드 블록은 프로그램 실행 시점에 호출됩니다. 결과적으로 코드 블록에 따라 메서드의 동작이 파라미터화됩니다.

Chapter 3 람다 표현식

  • 람다 표현식은 메서드로 전달할 수 있는 익명 함수를 단순화한 것입니다. 이름이 없는 함수(익명 클래스)면서, 메서드를 인수로 전달할 수 있습니다.

  • 특징

    • 익명
    • 함수 : 메서드처럼 특정 클래스에 종속되지 않으나, 메서드처럼 파라미터 리스트, 바디, 반환 형식, 가능한 예외 리스트를 포함합니다.
    • 전달 : 람다 표현식을 메서드 인수로 전달하거나 변수로 저장할 수 있습니다.
    • 간결성 : 간결한 코드

람다를 어디에 사용할 수 있는가?

  • 함수형 인터페이스 문맥에서 사용 가능합니다.
    • 함수형 인터페이스 : 하나의 추상 메서드를 지정하는 인터페이스 ex. Comparator, Runnable



읽은 후

하나의 메서드를 가지고 있는 인터페이스-구현 클래스라면 조금 특별하게 생각될 수도 있겠지만,
결국 위에서 말하고 있는 동작 파라미터화는 인터페이스-구현 클래스을 사용한 전략 패턴을 통해 실행 시점에 메서드가 결정되는 것을 의미합니다.

핵심은 처음에 언급한 것처럼 개발 시 자주 바뀌는 요구사항에 쉽게 대응할 수 있도록, 특히 기존 구현의 변경 없이 요구사항이 반영될 수 있도록 하는 것입니다.

처음에는 인터페이스-클래스 단위로 대응되었고, 함수형 인터페이스-람다 표현식을 통해 메서드(함수) 단위로 변경에 대한 요구사항을 반영할 수 있게 되었습니다.



참고

  • 책 | 모던 자바 인 액션, 라울-게이브리얼 우르마, 마리오 푸스코, 앨런 마이크로프트
profile
Done is better than perfect🔥

0개의 댓글