티스토리 뷰

반응형

람다식(Lambda expression)

함수형 프로그래밍의 등장으로 많은 언어들이 함수형 프로그래밍으로 만들어 지고 있고, 자바는 객체지향언어 이지만 이러한 시대적 흐름의 맞추어 유연하게 변하기 위해서 람다식을 도입하게 되었습니다. 함수형 프로그래밍이라는 이름에서 알 수 있듯이 람다식은 함수(메소드)의 변형으로 만들어 집니다. 람다식을 사용하게 되면 메소드가 '식(expression)'으로 바뀌게 되고 마치 하나의 '변수(값)' 처럼 사용 할 수 있게 됩니다. 

기존의 메소드를 람다식으로 바꾸기

//기존 메소드
int myMetohd (int a, int b){
    return a > b ? a: b;
}
  1. 반환타입과 메서드이름을 제거합니다.
  2. 매개변수의 선언부 괄호()와 몸통{} 사이에 ->를 추가합니다.
 //람다식으로 바꾼 메소드
(int a, int b) -> {
    return a > b ? a: b;
}

주의사항

  1. 문장이 한줄인 경우엔 중괄호{ }를 생략 할 수 있습니다. 이 경우 ;(세미콜론)을 붙이지 않습니다. 그리고 return문으로만 이루어진경우 return 키워드까지 빼야합니다.
  2. (int a, int b) -> a > b ? a: b // 중괄호 생략, 세미콜론과 return 키워드 반드시 삭제
    
  3. 매개변수의 타입 추론이 가능한 경우, 매개변수의 타입을 생략 할 수 있습니다.
  4. (a, b) -> a > b ? a: b
    
  5. 매개변수의 값이 하나인 경우 괄호()를 생략 할 수 있지만, 매개변수 타입도 생략 가능해야 합니다.
  6. a -> a * 2
    

람다식 사용하기

변환된 람다식을 사용하는 방법은 다음 포스팅을 참고해주시기 바랍니다. ☞ 자바의 람다식(Lambda) - 2. 람다식 사용하기

반응형
댓글