Back-End/Java
[Java] 람다 표현식 (Lambda Expression) 문법
미피뿌
2022. 1. 13. 10:47
반응형
람다 표현식 (Lambda Expression) 문법
Java 8에서 새롭게 등장한 람다 표현식에 대해 알아보자.
람다 표현식 (Lambda Expression)
나중에 한 번 이상 실행할 수 있게 전달하는 코드 블록을 뜻한다.
람다 표현식 문법
(String first, String second) -> first.length() - second.length()
▶ 매개 변수가 없는 경우
// 매개변수가 없는 메서드처럼 빈 괄호를 붙여야 한다.
Runnable task = () -> { for (int i = 0 ; i < 1000 ; i++) doWork(); }
▶ 매개변수 타입을 추론할 수 있는 경우
Comparator<String> comp
= (first, second) -> first.elngth() - second.length();
// (String first, String second) 와 같다
▶ 매개변수가 1개만 있고, 타입을 추론할 수 있는 경우
// 괄호 생략 가능
EventHandler<ActionEvent> listener = event ->
System.out.println("Hi!!");
// (event) -> 또는 (ActionEvent event) -> 대신 사용 가능
람다 표현식 사용목적
람다를 사용하는 핵심 목적은 지연 실행(Deferred Exectuion) 이다. 코드를 나중에 실행하는 이유는 아래와 같다.
① 별도의 쓰레드에서 코드 실행
② 코드를 여러 번 실행
③ 알고리즘에서 적절한 시점에 코드 실행 (ex. 정렬에서의 비교 연산)
④ 버튼 클릭, 데이터 수신 등이 일어날 때 코드 실행
⑤ 필요할 때에만 코드 실행
반응형