Java

[Java] 람다식(Lambda)

Rosie_dev 2021. 1. 28. 18:07

1) 람다식(Lambda)은 왜 필요한가?

 

람다식(Lambda)으로 별도의 클래스 객체 생성 없이 간결한 인터페이스 구현 객체를 만들 수 있다.

 

 

2) 람다식(Lambda)이란 무엇인가?

 

간단한 프로그래밍 함수식. 

익명함수 즉, 람다식은 추상화와 함수 적용 등의 논리연산을 다루는 형식 체계로 람다 대수에서 비롯되었다고 한다. @FunctionalInterface 어노테이션으로 함수형 인터페이스를 만들고 해당 추상메서드를 사용할 때 이용된다. 이 때 함수형 인터페이스에는 추상메서드만이 들어올 수 있으며, 한 개만 가능하다. 이 추상메서드에는 접근제한자 + abstract는 생략되어져 있다.

 

@Override

Interface interf = new Interface() {

        public void name(String str) {

                      System.out.println("abc");

        }

}

interf.name();

 

위의 코드를 아래와 같이 람다식을 이용해서 표기할 수 있다.

 

Interface interf = str -> System.out.println("abc");

interf.name();

 

 

3) 람다식의 표기

 

오라클에서 규정한 람다식 표기는 다음과 같다. 

하나의 구현부를 갖는 경우에는 괄호를 생략할 수 있다. 하지만 두 개 이상의 복합 구현부가 있는 경우에는 괄호를 생략할 수 없다.

파라미터가 없는 경우에는 괄호( )와 return 값 { }을 생략할 수 없다. 한 개의 파라미터의 값을 갖고 있을 때 타입은 생략할 수 있다. 즉, int x 의 경우, x 로만 작성가능하다. 그리고 두 개 이상의 파라미터가 타입이 같은 경우에는 타입이 생략가능하다.

 

람다식 표기법

 

'Java' 카테고리의 다른 글

[Java] 제네릭(Generic)  (0) 2021.01.30
[Java] 컬렉션(Collection)  (0) 2021.01.30
[Java] 배열, 버블정렬  (0) 2021.01.19
[Java] Random 응용, 배열  (0) 2021.01.18
[Java] While , do-While, Math.random() 메서드, Random() 클래스  (0) 2021.01.16
댓글