상세 컨텐츠

본문 제목

2022년 4월 11일 - java 8 공부 (1) (Lambda Expression & Method Reference)

컴퓨터 공부/코딩테스트 스터디

by 주중 (zuzung) 2022. 4. 20. 10:11

본문

  • 람다(Lambda)

익명함수의 한 형태. 메소드의 인수로 전달될 수 있고, 변수로 저장될 수 있음.

함수의 인자로 함수를 받을 수 있음. 이 동작은 함수를 호출할 때 전달해 준 동작을 이용해서 함수 내부가 구현됨.

 

👉🏻 람다의 형태 (함수의 인자) → 함수의 내부 구현코드

 

람다식 내에 사용되는 지역변수는 final이 붙지 않아도 상수로 간주된다.

장점: 가독성 증가, 생산성 증가, 병렬 프로그래밍 용이

단점: 재사용 불가능, 디버깅 어려움, 재귀에 부적합

⇒ 상황에 따라 필요에 맞는 방법을 사용하는 것이 중요

  • JAVA에서 제공하는 함수형 인터페이스
  1. Supplier<T>
  2. Consumer<T>
  3. Function<T, R>
  4. Predicate<T>
  • 메소드 참조(Method Reference)

함수형 인터페이스를 람다식이 아닌 일반 메소드를 참조시켜 선언하는 방법.

함수형 인터페이스와 메소드가 다음의 세 조건을 만족해야 함.

  1. 매개변수 타입이 동일해야 함
  2. 매개변수 개수가 동일해야 함
  3. 반환형이 동일해야 함

참조가능한 메소드 목록

  1. 일반 메소드
  2. Static 메소드
  3. 생성자

관련글 더보기

댓글 영역