728x90
메소드 레퍼런스
- 메서드 참조라는 의미
- 람다 표현식 몸체 부분에 기술되는 메서드를 이용해서 표현되며, 메서드의 이름만 전달함
- 구분자(::)를 붙이는 방식으로 메서드 레퍼런스를 표현함
- 기존에 선언되어 있는 메소드를 지정
- 메서드 레퍼런스를 사용하면 람다표현식이 더욱 간결해짐
메소드 레퍼런스 유형
- ClassName :: static method : 클래스의 static method를 지정하는 경우
- ClassName :: instance method : 객체의 instance method를 지정하는 경우
- Object :: instance method : 선언된 객체의 instance method를 지정하는 경우
- ClassName :: new : 클래스의 constructor를 지정하는 경우
메소드 레퍼런스 유형은 총 4가지가 존재함
메소드 레퍼런스 예시
//Class Name :: static 메소드 레퍼런스 예시
//메소드 레퍼런스 축약전
Function<String, Integer> stringIntegerFunction = text -> Integer.parseInt(text);
//메소드 레퍼런스 축약후
Function<String, Integer> stringIntegerMethodReferFunction = Integer::parseInt;
//Class Name :: Instance 메소드 레퍼런스
//메소드 레퍼런스 축약전
Function<Car, String> carStringFunction = car -> car.getName();
//메소드 레퍼런스 축약후
Function<Car, String> carStringReferFunction = Car::getName;
//Constructor :: new 메소드 레퍼런스
//메소드 레퍼런스 축약전
Function<String, Car> stringCarFunction = name -> new Car(name);
//메소드 레퍼런스 축약후
Function<String, Car> stringCarReferFunction = Car::new;
'JAVA' 카테고리의 다른 글
[JAVA] InitialRAMPercentage / MaxRAMPercentage 옵션 (0) | 2023.05.31 |
---|---|
[JAVA] OPTIONAL (0) | 2022.05.30 |
[JAVA] REACTIVE STREAMS (0) | 2022.05.06 |
[JAVA] VAR 타입추론 (0) | 2022.04.24 |
[JAVA] 하이버네이트(HIBERNATE) DDL-AUTO 옵션 정리 (0) | 2022.04.19 |