[JAVA] 람다식이란?

2020. 10. 22. 16:51
728x90

람다식이란?

  :  '메서드를 하나의 식으로 표현한 것'

     함수를 간략하면서도 명확한 식으로 표현할 수 있게 해준다.

     메서드를 람다식으로 표현하면 메서드의 이름과 반환값이 없어지므로 람다식을 '익명함수' 라고도 한다.

     람다식으로 인해 메서드를 변수처럼 다루는 것이 가능해졌다.

     람다식의 도입으로 자바는 객체지향언어인 동시에 함수형 언어가 됨.

 

 

 

        반환타임  메서드이름  (매개변수 선언) {                        반환타임  메서드이름  (매개변수 선언)  -> {   

                   문장                                                  =>                       문장                                              

             }                                                                            }                                                         

 

 

*메서드와 함수의 차이

  :  메서드는 함수와 같은 의미지만 특정 클래스에 반드시 속해야 한다는 제약이 있어

    기존 함수와 같은 의미의 다른 용어를 선택해서 사용한 것.

 

특징

   -  반환값이 있는 메서드의 경우, return 문 대신 '식'으로 사용할수 있다.

      식의 연산결과가 자동적으로 반환값이 된다.

      이때는 '문장'이 아닌 식이므로 끝에 ' ; '를 붙이지 않는다.

 

         (int a, int b) -> a>b? a:b 

 

   -  람다식에 선언된 매개변수의 차입은 추론가능할 경우 생략가능하다.

      대부분의 경우 생략 가능.

 

         (a, b) -> a>b? a:b 

 

   -  매개변수가 하나뿐인 경우, 괄호 생략가능하다.

      단, 매개변수의 타입이 있으면 괄호()를 생략 할 수 없다.

 

         a -> a * a 

         (int a) -> a * a 

 

   -  괄호 {} 안의 문장이 하나일 때는 괄호 {}를 생략할 수 있다.

      이때, 문장의 끝에 ';'을 붙이지 않아야 한다.

 

   -  괄호 {} 안의 문장이 return 문일 경우 괄호{}를 생략할 수 없다.

 

         (int a, int b) -> { return a>b? a:b; } 

728x90

'Development > 자바' 카테고리의 다른 글

[JAVA] 객체지향 설계의 5가지 원칙 SOLID  (0) 2021.01.13
[JAVA] 객체지향의 특징  (0) 2021.01.13
[JAVA] 자바란?  (0) 2020.11.10
[JAVA] 스택과 큐  (0) 2020.11.05
[JAVA] 배열  (0) 2020.10.28

BELATED ARTICLES

more