Skip to content

Latest commit

 

History

History
45 lines (39 loc) · 2.17 KB

Lambda.md

File metadata and controls

45 lines (39 loc) · 2.17 KB

람다식(Lambda)

람다함수란?

  • 람다 함수는 프로그래밍 언어에서 사용되는 개념으로 익명 함수(Anonymous functions)를 지칭하는 용어이다.
  • 현재 사용되고 있는 람다의 근간은 수학과 기초 컴퓨터과학 분야에서의 람다 대수이다. 람다 대수는 간단히 말하자면 수학에서 사용하는 함수를 보다 단순하게 표현하는 방법이다.

람다의 특징

  • 람다 대수는 이름을 가질 필요가 없다. - 익명 함수 (Anonymous function)

익명함수?

  • 익명함수는 말 그대로 함수의 이름이 없는 함수이다. 익명함수들은 공통으로 일급객체(First Class citizen) 라는 특징을 가지고 있다.
  • 일급객체는 다른 객체들에 적용 가능한 연산을 모두 지원하는 개체를 가르킨다.
  • 함수를 값으로 사용 할 수도 있으며 파라메터로 전달 및 변수에 대입 하기와 같은 연산들이 가능하다.

람다의 장단점

장점

  1. 코드의 간결성 - 람다를 사용하면 불필요한 반복문의 삭제가 가능하며 복잡한 식을 단순하게 표현할 수 있다.
  2. 자연연산 수행 - 람다는 자연연산을 수행 함으로써 불필요한 연산을 최소화 할 수 있다.
  3. 병렬처리 기능 - 멀티쓰레디를 활용하여 병렬처리 사용 할 수 있다.

단점

  1. 람다식의 호출이 까다롭다.
  2. 람다 stream 사용 시 단순 for문 혹은 while문 사용 시 성능이 떨어진다.
  3. 불필요하게 너무 사용하게 되면 오히려 가독성을 떨어 뜨릴 수 있다.

람다의 표현식

  1. 람다는 매개변수 화살표(->) 함수몸체로 이용하여 사용 할 수 있다.
  2. 함수몸체가 단일 실행문이면 괄호{}를 생략 할 수 있다.
  3. 함수 몸체가 return문으로만 구성되어 있는 경우 괄호{}를 생랼 할 수 없다.

람다식 예제

기존 자바 문법

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

람다식 문법

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