티스토리 뷰
반응형
람다식(Lambda expression)
함수형 프로그래밍의 등장으로 많은 언어들이 함수형 프로그래밍으로 만들어 지고 있고, 자바는 객체지향언어 이지만 이러한 시대적 흐름의 맞추어 유연하게 변하기 위해서 람다식을 도입하게 되었습니다. 함수형 프로그래밍이라는 이름에서 알 수 있듯이 람다식은 함수(메소드)의 변형으로 만들어 집니다. 람다식을 사용하게 되면 메소드가 '식(expression)'으로 바뀌게 되고 마치 하나의 '변수(값)' 처럼 사용 할 수 있게 됩니다.
기존의 메소드를 람다식으로 바꾸기
//기존 메소드
int myMetohd (int a, int b){
return a > b ? a: b;
}
- 반환타입과 메서드이름을 제거합니다.
- 매개변수의 선언부 괄호()와 몸통{} 사이에 ->를 추가합니다.
//람다식으로 바꾼 메소드
(int a, int b) -> {
return a > b ? a: b;
}
주의사항
- 문장이 한줄인 경우엔 중괄호{ }를 생략 할 수 있습니다. 이 경우 ;(세미콜론)을 붙이지 않습니다. 그리고 return문으로만 이루어진경우 return 키워드까지 빼야합니다.
- 매개변수의 타입 추론이 가능한 경우, 매개변수의 타입을 생략 할 수 있습니다.
- 매개변수의 값이 하나인 경우 괄호()를 생략 할 수 있지만, 매개변수 타입도 생략 가능해야 합니다.
(int a, int b) -> a > b ? a: b // 중괄호 생략, 세미콜론과 return 키워드 반드시 삭제
(a, b) -> a > b ? a: b
a -> a * 2
람다식 사용하기
변환된 람다식을 사용하는 방법은 다음 포스팅을 참고해주시기 바랍니다. ☞ 자바의 람다식(Lambda) - 2. 람다식 사용하기
반응형
'Java' 카테고리의 다른 글
Java에서 정규표현식 사용하기 (0) | 2018.12.13 |
---|---|
자바의 람다식(Lambda) - 2. 람다식 사용하기 (0) | 2018.12.07 |
자바의 클래스패스(classpath) (0) | 2018.12.03 |
JDBC(Java DataBase Connectivity) (1) | 2018.11.19 |
롬복(Lombok) 애노테이션 사용하기 (0) | 2018.11.12 |
댓글