람다(lambda )식
람다식은 식별자가 필요 없으며 익명 함수를 지칭하는 용어이다.
자바 8부터 람다식을 지원하며 문법이 간결하여 가독성 면에서 큰 장점을 불러온다.(람다를 쓰지말라는 상급자 분들도 있습니다.)
장점
- 코드가 간결하다
- 지연 연산을 통한 불필요한 연산을 최소화 한다.
- 멀티 쓰레드를 활용하여 병렬처리가 가능하다.
- 가독성이 향상된다.
단점
- 람다stream을 통한 단순 for문, while문 사용시 성능 저하가 발생 가능하다.
- 무명함수는 재사용이 불가능하다.
- 불필요한 람다식은 가독성을 떨어뜨린다.(비슷한 함수를 계속 중복생성할 수 있음)
- 디버깅하기 까다롭다.
람다식 표현법
(x, y) -> x < y ? x : y;
(int x) -> x+1
(x) -> x+1
x -> x+1
(int x) -> { return x+1; }
x -> { return x+1; }
(int x, int y) -> x+y
(x, y) -> x+y
(x, y) -> { return x+y; }
(String lam) -> lam.length()
lam -> lam.length()
(Thread lamT) -> { lamT.start(); }
lamT -> { lamT.start(); }
//잘못된 유형 선언된 type과 선언되지 않은 type을 같이 사용 할 수 없다.
(x, int y) -> x+y
(x, final y) -> x+y
출처 : https://khj93.tistory.com/entry/JAVA-%EB%9E%8C%EB%8B%A4%EC%8B%9DRambda%EB%9E%80-%EB%AC%B4%EC%97%87%EC%9D%B4%EA%B3%A0-%EC%82%AC%EC%9A%A9%EB%B2%95
함수 몸체가 단일 실행문일시 {}는 생략가능하다.
함수 몸체가 return문으로만 이루어졌을시 {}는 생략 불가능하다.
'자바' 카테고리의 다른 글
[자바] Comparable, Comparator (0) | 2023.01.13 |
---|---|
[자바] CompareTo (0) | 2023.01.13 |
HashSet기초 (자바) (0) | 2023.01.07 |
Vector 기초 (자바) (0) | 2023.01.07 |
Stack 기초 (자바) (0) | 2023.01.06 |