Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- Spring Boot
- re.split
- 백준 17779
- Spring
- java 기술면접
- 프로래머스
- Kotlin
- 백준 16719
- 백준 17626
- 백준 15685
- Coroutine
- 프로그래머스
- with recursive
- 파이썬
- MSA
- JVM
- 백준 파이썬
- spring cloud
- java
- spring oauth
- sql 기술면접
- spring security
- 백준 16235
- 백준 16236
- springboot
- MySQL
- 백준
- 웹어플리케이션 서버
- 백준 19238
- JPA
Archives
- Today
- Total
시작이 반
[Java] 람다식(Lambda) 본문
SMALL
람다 표현식(Lambda expression)?
메소드를 하나의 식으로 표현한것, 익명 함수를 지칭하는 용어
- 람다 대수는 이름을 가질 필요가 없다. - 익명 함수
- 2개 이상의 입력이 있는 함수는 최종적으로 1개의 입력만 받는 람다 대수로 단순화 될 수 있다. - 커링
작성
문법 (매개변수 목록) -> {함수 몸체} |
유의사항
- 매개변수의 타입을 추론할 수 있는 경우에는 타입을 생략할 수 있다.
- 매개변수가 하나인 경우에는 괄호()를 생략할 수 있다.
- 함수의 몸체가 하나의 명령문만으로 이루어진 경우에는 중괄호{} 를 생략할 수 있다. (이때 세미콜론;은 붙이지 않는다.)
- 함수의 몸체가 하나의 return문으로만 이루어진 경우에는 중괄호{}를 생략할 수 없다.
- return문 대신 표현식을 사용할 수 있으며, 이때 반환값은 표현식의 결과값이 된다. (이때 세미콜론;은 붙이지 않는다.)
(매개변수) -> {함수몸체}
매개변수 -> {함수몸체) //매개변수가 하나일경우 () 생략
(매개변수) -> 함수몸체 //함수의 몸체가 하나의 명령문만으로 이루어진 경우에는 중괄호{} 를 생략할 수 있다.
(매개변수) -> {return 0;} //함수의 몸체가 하나의 return문으로만 이루어진 경우에는 중괄호{}를 생략할 수 없다.
() -> 함수 몸체 //매개변수가 없을경우
int max(int a, int b) {
return a > b ? a : b;
}
▼
(int a, int b) -> {
return a > b ? a : b;
}
▼
return문 대신 표현식을 사용 (이떄 세미코론; 은 붙이지 않는다.)
(int a, int b) -> a > b ? a : b
▼
매개변수의 타입을 추론할 수 있는 경우에는 타입을 생략할 수 있다.
(a, b) -> a > b ? a : b
스레드 예시
new Thread(new Runnable() {
public void run() {
System.out.println("전통적인 방식의 일회용 스레드 생성");
}
}).start();
new Thread(()->{
System.out.println("람다 표현식을 사용한 일회용 스레드 생성");
}).start();
LIST
'Programming > Java' 카테고리의 다른 글
[Java] 코테 준비 ( 알아야할 것들) (2) | 2021.08.13 |
---|---|
[Java] SOLID (1) | 2021.05.10 |
[Java] Lombok (0) | 2021.01.25 |
[Java] Stream (0) | 2021.01.20 |
[Java] Optional (0) | 2021.01.20 |