람다식(Lambda)의 개념

문정현·2023년 11월 14일
0

Spring Security를 사용하면서 관련 설정값을 위한 코드에서 낯선 표현방식을 찾아볼 수 있다.

http.authorizeHttpRequests((authorizeHttpRequests) ->
        authorizeHttpRequests                
            .requestMatchers(PathRequest.toStaticResources().atCommonLocations()).permitAll()
            .anyRequest().authenticated()
);

이녀석은 람다함수라는 것.

람다함수란?

람다 함수는 프로그래밍 언어에서 사용되는 개념으로 익명 함수(Anonymous functions)를 지칭하는 용어이다.

현재 사용되고 있는 람다의 근간은 수학과 기초 컴퓨터과학 분야에서의 람다 대수이다. 람다 대수는 간단히 말하자면 수학에서 사용하는 함수를 보다 단순하게 표현하는 방법이다.

람다의 장단점

장점

  1. 코드의 간결성 - 람다를 사용하면 불필요한 반복문의 삭제가 가능하며 복잡한 식을 단순하게 표현할 수 있습니다.

  2. 지연연산 수행 - 람다는 지연연상을 수행 함으로써 불필요한 연산을 최소화 할 수 있습니다.

  3. 병렬처리 가능 - 멀티쓰레디를 활용하여 병렬처리를 사용 할 수 있습니다.

단점

  1. 람다식의 호출이 까다롭습니다

  2. 람다 stream 사용 시 단순 for문 혹은 while문 사용 시 성능이 떨어집니다.

  3. 불필요하게 너무 사용하게 되면 오히려 가독성을 떨어 뜨릴 수 있습니다.

예시

자바에서 sout 프린트를 만들때는 이렇게 작성하는데

new Thread(new Runnable() {
   @Override
   public void run() { 
      System.out.println("Welcome Heejin blog"); 
   }
}).start();

람다식으로 표현하자면

new Thread(()->{
      System.out.println("Welcome Heejin blog");
}).start();

람다식을 사용하여 코드가 훨씬 간결해지고 가독성도 좋아진걸 확인 할 수 있다.

profile
주니어 개발자

2개의 댓글

comment-user-thumbnail
2023년 11월 14일

개발자로서 배울 점이 많은 글이었습니다. 감사합니다.

1개의 답글