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
- 스프링
- 알고리즘
- JDBC
- QueryDSL
- AOP
- transaction
- pointcut
- 인프런
- Greedy
- Proxy
- spring
- Spring Boot
- db
- Thymeleaf
- 스프링 핵심 기능
- 자바
- Exception
- springdatajpa
- Servlet
- 백준
- kotlin
- SpringBoot
- 그리디
- http
- JPQL
- 김영한
- 스프링 핵심 원리
- jpa
- java
- Android
Archives
- Today
- Total
개발자되기 프로젝트
함수형 인터페이스, 람다식 구현 및 사용 본문
1. 함수형 인터페이스 선언
- 람다식을 사용하기 위한 인터페이스
- 익명 함수와 매개변수만으로 구현되므로 인터페이스는 단 하나의 메서드만을 선언해야함
- @FunctionalInterface annotation
- 함수형 인터페이스라는 의미. 내부에 여러 개의 메서드 선언 불가.
- 왜 여러개 선언 불가??
- 함수를 구현하는 쪽에서 익명 클래스 방식을 사용함
- 즉, 어떤 메서드를 구현했는지 모름!!!
- 요거만 봤을 때 어떤 메서드인지 알 길이 없음 ㅋㅋㅋ
Add addXY = (x, y) -> {return x+y;};
2. 예시
- @FunctionalInterface 선언
@FunctionalInterface
public interface MyNumber {
int getMAx(int num1, int num2);
}
- 사용
- 간단한 조건이 들어가는 경우 삼항연산자 사용하면 편리함 ㅋㅋㅋ
public class MyNumberTest {
public static void main(String[] args) {
MyNumber myNumber = (num1, num2) -> num1 > num2 ? num1 : num2;
System.out.println(myNumber.getMAx(2, 3));
}
}
3. GitHub : 211027 @FunctionalInterface
'Java > 다양한 기능' 카테고리의 다른 글
객체지향 프로그래밍 vs 람다식 구현 (0) | 2021.10.27 |
---|---|
Stream (0) | 2021.10.27 |
람다식 (0) | 2021.10.27 |
익명 내부 클래스 활용 (0) | 2021.10.26 |
내부 클래스 정의, 유형 (0) | 2021.10.26 |
Comments