본문 바로가기

gyub's 공부일기/그저 내 공부

Lambda식이란

※※   그저 공부하는 흐름대로 작성한 것이니 정돈된 글이 아님 주의 ※※

 

Lambda 식이란

Lambda 는 함수에 대한 이론적 기반을 세우는 수학적 추상화를 뜻하고

이것을 프로그래밍에 녹여서 표현한 것이 Lambda 표현식이다.

프로그래밍에서 Lambda 에 근간을 두어 설계한 패러다임이 함수형 프로그래밍이다.

함수형 프로그래밍은 함수의 입력만을 의존하여 출력을 만드는 프로그래밍 패러다임이다.

함수 개념에 근간을 두어 설계하였기에 다음과 같은 특징을 가진다.

  1. 함수를 객체로 사용함으로써 값으로 할당하거나 파라미터로 전달이 가능하다. (고계함수)
  2. 함수를 불변상태로 규정하여 부작용을 최소화하고 멀티 스레드 환경에서 동기성 문제에 안전하다. (순수함수)
  3. 코드를 간결하게 하여 가독성을 높임으로써 로직에 집중시킨다. (익명함수)

Java 8 이전에는 함수에 대한 특별한 개념이 없었고 지원하는 기능도 없었다. 하지만 Java 8 에서부터 람다식과 함수형 인터페이스라는 개념을 도입하여 인터페이스 안에 단 하나의 함수를 선언하여 이것을 객체처럼 사용하고 람다식으로 표현이 가능하도록 지원하였다. 또한 단 하나의 함수만 들어가는 것을 보장하기 위해 @FunctionalInterface 라고 선언함으로써 컴파일 타임에 에러를 잡을 수 있게 하였다.

반응형

'gyub's 공부일기 > 그저 내 공부' 카테고리의 다른 글

자바에서 클래스 다중상속을 막은 이유  (0) 2021.04.03
ListView vs RecyclerView  (0) 2021.04.03
Java 메모리 구조 Heap, Data, Stack  (0) 2021.04.03
제네릭  (0) 2021.04.01
Iterator  (0) 2021.04.01