<
자바가 사용하는 함수형 프로그래밍 람다
>
🌠다음 포스팅🌠

자바 프로그램의 개발과 구동
☄이전 포스팅☄

스레드의 특성
람다식의 특징과 장점

🚀 Lambda 의 등장

기술이 발전되어 가면서 커져만 가는 데이터를 처리한 방법을 필요로했고 이를 필요로 하는 CPU 의 성능 향상이 필요하게 되었다.

이후 CPU에 멀티 코어가 등장하게 되면서 모든 데이터를 빠르게 처리하기 위해 모든 코어를 동원할 수 있는 기술을 개발하게된다.

그렇게 JAVA 8에서 새롭게 등장한 병렬화 개념이 등장했고 동시에 Collection (Map / Set / List)가 더욱 강화 되었다. 이러한 컬렉션 기능을 더욱 효울적으로 사용하기 위해 등장한 함수형 프로그래밍이 오늘의 주제인 Lambda인 것이다.

그래서 람다식이란?

스프링을 위한 자바 객체 지향의 원리와 이해 에서 정의한 람다식 이란?

코드 블록을 위해 메서드를, 메서드를 사용하기 위해 익명 객체를 만드는 복잡함을 줄이고 코드 블록 자체를 메서드의 인자나 반환값으로 사용하기 위한 수학적으로 단순화 시킨 표현방법으로 정의한다.

🌠 함수형 프로그래밍 (functional programming)

자료 처리를 수학적 함수의 계산으로 취급하고 상태와 가변 데이터를 멀리하는 프로그래밍 패러다임의 하나이다.

즉, 문제를 해결하기 위한 함수를 작성하여 가독성과 유지보수의 장점을 취하는 프로그래밍 방법이다.

익명함수(Anonymous Function)

함수의 이름이 없는 함수로, 익명함수들은 모두 1급 객체이다.

☄ 장점

☄ 단점

🌠 Lambda 개념

@FunctionalInterface 
interface MyLambdaFunction { 
    int max(int a, int b);  // 출력 -> 5 
} 
public class Lambda { 
    public static void main(String[] args) {
        
        // 람다식을 이용한 익명함수
      MyLambdaFunction lambda = (int a, int b) -> a > b ? a : b;
      System.out.println(lambda.max(3, 5)); 
    } 
}

🌠 Lambda 장점

🌠 Lambda 단점

🌠 컴파일러가 Lambda 표현식을 처리하는 방법

🚀 정리

이번 포스팅에서 람다함수형 프로그래밍에 대해 포스팅했다.

이 두가지를 이해하는 것으로 많은 곳에 적용할 수 있지만 최종적으로 자바의 Stream을 사용하기 위해 이 두가지 기능을 이해해야한다.

🧾 Reference

Top
Foot