람다식 (lamda)

changi123·2023년 9월 17일

공부

목록 보기
4/26
post-thumbnail

람다식이란 ?

람다식이란 함수를 하나의 식으로 표현한 것이다. 메소드의 이름이 필요없기 때문에 람다식은 익명 함수 (Anonymous Fintion) 이라고도 부른다.

람다식의 사용이유와 특징

  • 불필요한 코드를 줄이고 가독성을 높인다.
  • 람다식 내에서 사용되는 지역변수는 final이 붙지 않아도 상수로 취급된다.
  • 람다식으로 선언된 변수명은 다른 변수명과 중복될 수 없다.


람다식의 장점

  • 코드를 간결하게 만듬
  • 식 자체가 개발자의 의도가 명확히 드러나 가독성이 높아짐
  • 함수를 만드는 과정없이 한 번에 처리할 수 있어 생산성이 높아진다.
  • 병렬프로그래밍이 가능해진다.


람다식의 단점

  • 람다를 사용하면서 만든 무명함수는 재사용이 불가능하다.
  • 디버깅이 어렵다.
  • 람다를 남발하면 비슷한 함수가 중복 생성되어 코드가 더러워질 수 있음
  • 재귀로 만들경우에 적합하지 않음

함수형 인터페이스란 ?

람다식의 사용으로 순수 함수를 선언할 수 있지만 java는 기본적으로 객체지향 언어이기 때문에 순수 함수와 일반 함수를 취급한다. 이를 구분하기 위해 함수형 인터페이스가 등장했다. 함수형 인터페이스란 함수를 1급 객체처럼 다룰 수 있게 해주는 어노테이션으로 인터페이스에 선언하여 단 하나의 추상 메소드만을 갖도록 제한하는 역할을 한다.

함수형 인터페이스 사용

@FunctionalInterface
interface MyLambdaFunction {
    int max(int a, int b);
}
public class Lambda {
    public static void main(String[] args) {
        MyLambdaFunction lambdaFunction = (int a , int b ) -> a>b?a:b;
        System.out.println(lambdaFunction.max(3, 5));

}



profile
개발자 홍찬기 꾸준한 사람이 되자

0개의 댓글