728x90
반응형
Java 8 부터 자바에 람다식이 도입되었습니다.
람다식은 익명 함수를 생성하기 위한 식입니다.
자바에서 람다식은 함수형 인터페이스를 구현하는 모습으로 사용되는데 이는 함수형 프로그래밍에 알맞습니다.
자바에서의 람다식은 함수형 인터페이스의 메소드를 간편하게 구현하여 사용하는데에 그 목적이 있습니다.
이제부터 람다식의 특징과 관련된 내용을 설명해보겠습니다!
람다식 장단점
장점
- 메소드의 구현을 간결하게 하여 가독성을 높인다
- 람다로 구현하여 코드 줄 소비를 줄일 수 있다.
- 함수형 프로그래밍을 바탕으로 병렬 프로그래밍이 가능하다.
- 지연 연산을 이용하여 향상된 퍼포먼스를 보여줄 수 있다.
단점
- 람다식이 남용된다면 오히려 프로그램의 코드를 이해하기 어려울 수 있다.
- 람다식을 재귀로 활용할 경우 까다롭다.
함수형 인터페이스
함수형 인터페이스는 간단하게 말해서 메소드를 하나만 가지고 있는 인터페이스 입니다.
함수 구현만을 위해서 만들어진 인터페이스입니다.
함수형 인터페이스에는 Runnable, Comparator 등의 인터페이스가 있습니다.
사용자가 원하는 함수형 인터페이스를 직접 정의해서 사용할 수 있습니다. 함수형 인터페이스를 정의할 때 @FunctionalInterface 어노테이션을 이용해 정의합니다.
정의한 인터페이스 위에 어노테이션을 명시하면 해당 인터페이스가 함수형 인터페이스 임을 알리게 됩니다.
물론 메소드는 하나만 두어야 겠죠! 람다식은 이 함수형 인터페이스를 간편하게 구현하는 역할을 하는겁니다.
@FunctionalInterface
interface Square{
public int run(int number);
}
public void f(){
int number = 10;
Square s = (num) -> num*num;
int squaredNum = s.run(number);
}
728x90
반응형
'개발중 > Java' 카테고리의 다른 글
java 8 stream api documentation (0) | 2021.02.25 |
---|---|
java 8 stream api documentation (2) | 2021.02.24 |
String,StringBuffer, StringBuilder 차이점 (0) | 2021.02.24 |
Demon 만들기 (API 사용) (0) | 2021.02.23 |
java 에서 data → excel 파일 (0) | 2021.02.10 |