- Java8부터 지원된 기능으로 자바는 객체지향 언어의 특징과 함께 함수형 언어의 특성을 갖추게 되었습니다.
- 람다식이란 함수를 하나의 식으로 표현한 것 입니다. 함수를 람다식으로 표현하면 Method의 이름이 필요없기 때문에, 람다식은 익명함수의 한 종류라고 볼 수 있습니다.
- 익명함수란 함수의 이름이 없는 함수로, 익명함수들은 모두 일급 객체입니다. 일급 객체인 함수는 변수처럼 사용가능하며 매개 변수로 전달이 가능한 특징이 있습니다.
- 람다식이 등장하게 된 이유는 코드의 효율과 가독성 향상때문입니다. 컴파일러가 문맥을 살피고 타입을 추론합니다.
- 람다식 내부에서 사용되는 지역변수는 final을 붙이지 않아도 상수로 간주됩니다.
- 람다식으로 선언된 변수명은 다른 변수명과 중복될 수 없습니다.
장점
- 코드를 간결하게 만들 수 있습니다.
- 개발자의 의도가 명확하게 드러나 가독성을 높일 수 있습니다.
- 지연 연산(결과값이 필요할 때까지 계산을 늦추는 기법)을 통해 메모리상의 효율성 및 불필요한 연산의 배제가 가능하다는 장점이 있습니다.
- 병렬 프로그래밍이 용이합니다.
단점
- 모든 원소를 전부 순회하는 경우는 람다식이 조금 느릴 수밖에 없습니다.
- 디버깅 시점에서 함수 콜스택 추적이 어렵습니다.
- 무분별한 람다의 사용은 오히려 가독성을 해칠 수 있습니다.
728x90
반응형
'Language > Java' 카테고리의 다른 글
Thread in Java (0) | 2023.02.07 |
---|---|
함수형 인터페이스 (Functional Interface) (1) | 2023.01.31 |
[Java] Exception (0) | 2021.11.26 |
[Java] Collection - (2) List란? (0) | 2021.11.12 |
[Java] Collection - (1) Collection Framework란? (0) | 2021.11.12 |
댓글