인프런 커뮤니티 질문&답변

이한솔님의 프로필 이미지
이한솔

작성한 질문수

더 자바, Java 8

메소드 레퍼런스

메소드 레퍼런스를 통한 생성자 호출시 파라미터가 많을 경우..

작성

·

254

1

안녕하세요. 강사님! 

강의 잘듣고 있는와중에 궁금증이 생겨 질문드립니다. 

입렵값이 없는 생성자의 경우 Supplier를 사용하고

입력값이 하나 있는 생성자의 경우 Function<T,R>을 사용하여 메소드 레퍼런스를 사용하는데, 만일 입력값이 2~3개이상일 경우에는 어떻게 해야할까요? 

답변 2

7

백기선님의 프로필 이미지
백기선
지식공유자

좋은 질문인데요. 메소드 레퍼런스는 결국 그 레퍼런스에 해당하는 함수형 인터페이스가 있으니까 동작을 하는거자나요. 자바에서 기본으로 제공하는 함수형 인터페이스로 커버가 되지 않는 경우가 있가면 직접 정의해서 쓰시면 됩니다. 다만 입력값이 두개에 출력값이 한개인 함수는 이미 제공한고 이전 수업 "자바에서 제공하는 함수형 인터페이스"에서 다루었으니 다시 참고해 보시기 바라구요. 입력값이 세개 이상에 결과값 하나인 경우에 해당하는 인터페이스는 없으니 그런 메소드 레퍼런스를 정의하고 싶다면 우선 그런 함수형 인터페이스부터 정의하거나, List나 Collection을 입력값으로 받고 결과값을 하나 리턴하는 메소드 레퍼런스를 정의해도 될거 같네요.

0

이한솔님의 프로필 이미지
이한솔
질문자

네, 컬렉션으로 파라미터를 받아 처리하는게 괜찮은 것 같습니다 !! 감사합니다 !

이한솔님의 프로필 이미지
이한솔

작성한 질문수

질문하기