티스토리 뷰
함수적 인터페이스 : @FunctionalInterface
모든 인터페이스를 람다식으로 사용할 수 없다. 람다식은 하나의 메서드를 정의하기 때문에 인터페이스에
하나의 함수만 선언되어 있어야한다. 두개 이상의 추상 메서드가 선언된 경우 해당 인터페이스는 람다식을
이용하여 구현 객체를 생성할 수 없다. 하나의 추상메서드가 있는 인터페이스 형태를 함수적 인터페이스라고
한다. 그리고 @FunctionalInterface 애노테이션을 선언해주면 해당 인터페이스는 함수적 인터페이스라는 의미다.
함수적 인터페이스 : Consumer
리턴 값이 없는 accept() 를 가지고 있고 매개 값을 소비하기 위한 용도이다.
Consumer<String> consumer = t => System.out.println("T의 결과 : " + t);
consumer.accept("hello");
>> 출력 T의 결과 : hello
IntConsumer intConsumer = t => System.out.println("T에 10을 더하면?" + (t+10));
consumer.accept(1);
>> 출력 T의 결과 : 11
함수적 인터페이스 : Supplier
매개 값을 리턴 타입으로 변환하는 인터페이스다.
IntSupplier supply = () -> {
int num = 10*10*3.14;
return num
};
int a = supply.getAsInt();
System.out.println(a);
>> 출력 314
함수적 인터페이스 : Function
매개 값과 리턴 값을 가진 인터페이스다.
'Java' 카테고리의 다른 글
객체지향 (0) | 2022.03.20 |
---|---|
[Java] 컬렉션 프레임워크 (0) | 2022.03.13 |
[Java] 람다식 (1) (0) | 2022.03.10 |
[Java] Iterator와 ListIterator (0) | 2022.02.05 |
[Java] Collection 과 List (0) | 2022.02.05 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- ci/cd
- db
- TCP
- spring
- AWS
- 인덱스
- 파일업로드설정
- graphql
- 람다식
- nginx
- 네이버클라우드
- Oracle
- 트랜잭션
- N+1
- 기술면접
- Java
- level0
- Travis CI
- JPA
- ddl-auto
- SpringGraphQL
- 트랜잭션격리성
- 프로그래머스
- Til
- 운영체제
- OS
- ORA-27125
- CodeDeploy
- EC2
- SpringSecurity
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함