반응형

람다 표현식 (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. 정렬에서의 비교 연산)

④ 버튼 클릭, 데이터 수신 등이 일어날 때 코드 실행

⑤ 필요할 때에만 코드 실행

 

반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 라이프코리아트위터 공유하기
  • shared
  • 카카오스토리 공유하기