⚙️ Backend/JAVA
JAVA(자바) - 람다식이란?
반응형
람다식이란..
함수적 프로그래밍
-> y = f(x) 형태의 함수로 구성된 프로그래밍 기법
- 데이터를 매개값으로 전달하고 결과를 받는 코드들로 구성
-
객체 지향 프로그래밍 보다는 효율적인 경우
- 대용량 데이터의 처리시에 유리
- 데이터 포장 객체를 생성후 처리하는 것 보다, 데이터를 바로 처리하는 것이 속도에 유리
- 멀티 코어 CPU에서 데이터를 병렬 처리하고 취업할 때 객체보다는 함수가 유리
- 이벤트 지향 프로그래밍 (이벤트가 발생하면 핸들러 함수 실행)에 적합
- 반복적 이벤트 처리는 핸들러 객체보다는 핸들러 함수가 적합
-
현대적 프로그래밍 기법
- 객체 지향 프로그래밍 + 함수적 프로그래밍
자바 8부터 함수적 프로그래밍 지원
>> 람다식(Lamda Expressions)을 언어 차원에서 제공
- 람다 계산법에서 사용된 식을 프로그래밍 언어에 접목
- 익명 함수(anonymous function)을 생성하기 위한 식
(타입 매개변수, ... ) -> ( 실행문; ... )
>> 자바에서 람다식을 수용한 이유
- 코드가 매우 간결해진다.
- 컬렉션 요소(대용량 데이터)를 필터링 또는 매핑해서 쉽게 집계할 수 있다.
자바는 람다식을 함수적 인터페이스의 익명 구현 객체로 취급한다.
람다식 -> 매개변수를 가진 코드 블록 -> 익명 구현 객체
함수적 인터페이스는 한 개의 메소드를 가지고있는 메소드를 함수적 인터페이스라고 한다.
한 개의 메소드를 정의하고있는 인터페이스의 익명 구현 객체로 람다식으로 취급을 한다.
- 어떤 인터페이스를 구현할지는 대입되는 인터페이스에 달려있다.
Runnable runnable = () -> { ... }; // 람다식
Runnable runnable = new Runnable() {
public void run() { ... }
};
쓰레드에서 작업 객체를 만들 때 Runnable이라는 인터페이스를 살펴보았을 것이다.
Runnable 인터페이스는 run()이라는 메소드를 하나만 가지고 있다.
이것을 함수적 인터페이스라고 한다. 위의 코드처럼 익명 구현 객체를 만들 때 똑같은 문법을 만드는 것이 람다식이다.
반응형
'⚙️ Backend > JAVA' 카테고리의 다른 글
JAVA (자바) - 람다식, 타겟 타입과 함수적 인터페이스 (0) | 2020.12.14 |
---|---|
JAVA (자바) - 람다식 기본 문법(2) (0) | 2020.12.14 |
Java 컬렉션 프레임 워크 - Map (1) (0) | 2020.12.10 |
Java 자바 - LinkedHashSet을 이용하여 Bingo게임 만들기 (0) | 2020.12.09 |
JAVA - 컬렉션 : TreeSet (트리구조) (0) | 2020.12.09 |
댓글