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
- 웹 프로그래밍
- 동적 자원
- 변수
- 애플페이
- Gradle
- 삼항 연산자
- Java
- 자바 프로젝트
- 자바 연산자
- 그래이들
- 조건문
- if문
- 연산자
- 빌드 도구
- 자바 람다식
- 타입변환
- 스프링부트
- 정적 자원
- 단항 연산자
- 멀티 태스킹
- 그래들
- 자바 이항 연산자
- 깃허브
- 자바
- 국비 프로젝트
- 람다
- 람다식
- Github
- 연산식
- 웹
Archives
- Today
- Total
인디언식 기우제
자바 람다식 본문
람다식 이란?
함수(메소드)를 간단한 식으로 표현한 것이다.
//메소드
int max(int a, int b) {
return a > b ? a : b;
}
이것이 기존의 메소드이고, 람다식으로 표현하면
//람다식
(a, b) -> a > b ? a : b
이렇게 까지 간략하게 표현할 수 있다.
메소드를 람다식으로 표현하면 메소드의 이름과 반환값이 없어지므로, 람다식을 '익명 함수(anonymous function)'라고도 한다.
람다식의 특징
- 코드를 간결하면서도 이해하기 쉽게 표현할 수 있다.
- 클래스에 포함되어야 하는 메소드와 달리 람다식 자체만으로도 호출할 수 있다.
- 메소드의 매개변수로 전달이 되거나 메소드의 결과로 반환될 수 있다.
- 멀티 쓰레드를 활용하여 병렬처리를 사용할 수 있다.
람다식 작성법
메소드에서 이름과 반환타입을 제거하고 매개변수 선언부와 몸통{} 사이에 '->'를 추가하기만 하면 된다.
(매개변수 선언부) -> { 몸통 }
(int a, int b) -> { return a > b ? a : b; }
반환값이 있는 메소드라면, return문 대신 식으로 대신 할 수 있다. 이때는 끝에;을 붙이지 않는다.
함수 몸체안의 문장이 하나일 대는 {}를 생략할 수 있다.
단 식이 아닌 return문으로 표현하고자 할 때에는 {} 생략 불가.
(int a, int b) -> { return a > b ? a : b; } // 정상
(int a, int b) -> a > b ? a : b // 정상
(int a, int b) -> return a > b ? a : b // 에러
람다식에 선언된 매개변수의 타입은 추론이 가능한 경우에 생략가능. 대부분의 경우에 생략 가능하다.
(a, b) -> a > b ? a : b
선언된 매개변수가 하나뿐인 경우에는 괄호()를 생략할 수 있다. 단, 매개변수의 타입이 있으면 생략 불가
a -> a + a // 정상
int a -> a + a // 에러
'Java > 자바' 카테고리의 다른 글
자바 - 화면에 글자 출력하기 - println() (0) | 2022.10.27 |
---|---|
자바 - JDK 설치부터 메모장, CMD를 이용한 주먹코딩 (1) | 2022.10.26 |
자바 - Hello world! (0) | 2022.04.02 |