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 | 31 |
Tags
- 연산자
- #Java
- 비교연산자
- 이진수
- 2차원배열
- 데이터타입
- JAVA기초
- 피보나치수열
- #완전수구하기
- 복합대입연산자
- else if문
- #java_festival
- if문
- 증감연산자
- 변수의특징
- for문 369게임
- #알고리즘
- 소인수분해
- 알고리즘
- java조건문
- 로또 프로그램
- 별찍기
- 삼항 연산자
- #이차원배열
- java
- plusgame
- 논리연산자
- 팩토리얼
- switch-case문
- switch문
Archives
- Today
- Total
숭어 개발 블로그
[Java] 람다식 본문
람다식이란?
- 함수형 프로그래밍이란 함수를 정의하고 이함수를 데이터 처리부로 보내 데이터를 처리하는 기법을 말한다.
- 자바는 함수형 프로그래밍을 위해 Java8부터 람다식 (Lambda Expressions)을 지원한다.
- 자바는 람다식을 익명 구현 객체로 변환한다. (이름이 없는 인터페이스 구현객체)
- 인터페이스의 익명구현 객체를 람다식으로 표현하려면 인터페이스가 단 하나의 추상 메소드만 가져야한다.
1.매개변수가 없는 람다식
- 함수형 인터페이스의 추상 메소드에 매개변수가 없을 경우 람다식은 다음과 같이 작성할 수 있다.
// 실행문이 2개인경우
()-> {
실행문;
실행문;
}
// 실행문이 하나인경우 생략할 수 있다.
() -> 실행문
2.매개변수가 있는 람다식
-매개변수를 선얼할 때 타입은 생략할 수 있고, 구체적인 타입 대신에 var를 사용할 수도 있지만 타입을 생략하고 작성하는 것이 일반적이다.
매개변수 -> {
실행문;
실행문;
}
매개변수 -> 실행문
3.리턴값이 있는 람다식
-return문이 하나만 있을 경우에는 중괄호와 함께 return 키워드를 생략할 수 있다.
(매개변수,...) -> {
실행문;
return 값;
}
(매개변수,...) -> return 값;
(매개변수,...) -> 값
4.메소드 참조
-메소드를 참조해서 매개변수의 정보 및 리턴 타입을 알아내 람다식에서 불필요한 매개변수를 제거하는 것을 목적으로 한다.
클래스 :: 메소드
참조변수 :: 메소드
- ex) 예를 들어 두개의 값을 받아 큰 수를 리턴하는 Math 클래스의 max() 정적 메소드를 호출하는 람다식은 다음과 같다.
(left, right) -> Math.max(left,right);
Math :: max
5.생성자 참조
- 생성자를 참조한다는 것은 객체를 생성하는 것을 의미한다.
- 람다식은 단순히 객체를 생성한 후 리턴만 한다.
(a,b) -> {return new 클래스(a,b);}
클래스 :: new
Comments