Item 43 발표 정리

람다보다는 메서드 참조를 사용하라

Contents

  • 책에서 제공하는 정보

    • 람다메서드 레퍼런스라는 방식으로 코드를 리펙토링 할 수 있다.

    • 메서드 레퍼런스유형은 5가지

      • 정적 메서드를 가리키는 메서드 레퍼런스

      • 수신 객체를 특정하는 한정적 인스턴스 메서드 레퍼런스

      • 수신 객체를 특정하지 않는 비한정적 인스턴스 메서드 레퍼런스

      • 클래스 생성자를 가리키는 메서드 레퍼런스

      • 배열 생성자를 가리키는 메서드 레퍼런스

  • 람다의 장점

    • 매개변수의 이름이 의미가 있는 경우, 유지보수에 좋다.

  • 메서드 레퍼런스의 장점

    • 매개변수의 의미가 중요하지 않은 경우, 간결한 코드 작성 가능

    • 메서드 명이 기능에 대한 유익한 의미를 갖도록 작성 가능

  • 람다가 메서드 레퍼런스보다 간결한 코드가 되는 경우

    • 메서드와 람다가 같은 클래스에 있는 경우 더 간결하게 작성할 수 있다.

  • 람다로 할 수 없는 일이라면 메서드 참조로도 할 수 없다.

    • 기능적으로 동일

    • 예외) 제네릭 함수 타입(generic function type)

  • 제네릭 함수 타입(generic function type)

    • 함수형 인터페이스의 추상 메서드가 제네릭일 수 있듯이 함수 타입도 제네릭 일 수 있다.

    • 제네릭 함수 타입은 메서드 레퍼런스 표현식으로는 구현할 수 있지만, 람다식으로는 불가능하다.

    • 제네릭 람다식이라는 문접이 존재하지 않기 때문이다.

Intro

Simple

Method Reference Type

  • 메서드 레퍼런스유형은 5가지

    • 정적 메서드를 가리키는 메서드 레퍼런스

    • 수신 객체를 특정하는 한정적 인스턴스 메서드 레퍼런스

    • 수신 객체를 특정하지 않는 비한정적 인스턴스 메서드 레퍼런스

    • 클래스 생성자를 가리키는 메서드 레퍼런스

    • 배열 생성자를 가리키는 메서드 레퍼런스

Reference to a static method

Reference to an instance method of a particular object

Reference to an instance method of an arbitrary object of a particular type

Reference to a constructor

정리

Last updated