● 도입 - BiConsumer Interface는 BiFunction Interface와 같이 2개의 input parameter를 가진다. [BiConsumer] @FunctionalInterface public interface BiConsumer { void accept(T t, U u); } [Consumer] @FunctionalInterface public interface Consumer { void accept(T t); // Consumer는 받기만 하고 아무것도 return 하지 않는다. } [BiFunction] @FunctionalInterface public interface BiFunction { R apply(T t, U u);// 추상 메소드 } ● 실습 1. package..
● 도입 - Consumer와 Supplier는 정반대이다. @FunctionalInterface public interface Consumer { void accept(T t); // Consumer는 받기만 하고 아무것도 return 하지 않는다. } - Consumer 또한 Functional Interface 이기에 단 하나의 abstract method를 갖는다. @FunctionalInterface public interface Supplier { T get(); // input 없이 return 값만 가지는 함수 } - Supplier 또한 Functional Interface 이기에 단 하나의 abstract method를 갖는다. ● 실습 1. package com.fastcampus.f..
● 도입 - java가 제공하는 여러 Functional Interface에 대해 알아보자 - Supplier, Consumer, BiConsumer, Predicate 등을 배울 것이다. 프로그래밍에서 1급 시민의 조건 1. 함수/메서드의 매개변수(parameter)로서 전달할 수 있는가 2. 함수/메서드의 반환값(return)이 될 수 있는가 3. 변수에 담을 수 있는가 - 이전까지의 글에서는 Lambda를 이용해 변수에 넣는 것만 배웠다. - 앞으로는 그 외의 것도 배울 것이다. ● Supplier - 맨 먼저 Supplier에 대해 공부할 것이다. Supplier의 구조는 아래와 같다. - Supplier는 공급하는 interface를 의미한다. @FunctionalInterface public ..
● @FunctionalInterface란? - @FunctionalInterface Annotation이 붙으면 해당 interface가 단 하나의 abstract method(추상 메소드)만 가지는 interface라는 것을 의미한다. - 다른 말로 Single Abstract Method interface 라고도 한다. - Function interface의 실제 구조는 아래와 같다.(실제로 Function interface를 들어가서 내용을 복붙한 것이다.) package java.util.function; import java.util.Objects; @FunctionalInterface public interface Function { R apply(T t); default Function c..
● 도입 - Function Interface는 input을 1개만 받을 수 있다. - input을 2개(parameter 2개) 받고 싶을 때는 어떻게 해야할까? - 이때 사용하는 것이 BiFunction Interface이다. cf) input을 3개(parameter 3개) 받는 interface는 없다. @FunctionalInterface public interface BiFunction { R apply(T t, U u);// 추상 메소드 } - input을 2개 받는 함수를 구현하는 interface이다. - T와 U가 input parameter type / R이 return type 이다. ● 실습 - BiFunction Interface를 Lambda로 구현해보자 package com...
● 도입 - 저번 글에서 Function Interface를 이용해 함수를 object 형태로 표현해보았다. 하지만 막상 사용해보니 불편하다. - Function Interface를 implements한 Adder를 Class 따로 만들어야하니까 말이다. - 함수를 object 형태로 만들고 싶을 때마다 매번 새로운 object를 만들어야하는가? 그러면 class 파일이 엄청 많아질텐데? - 이러한 문제를 해결해 주는 것이 바로 Lambda이다. ● Lambda(이름이 없는 함수, Anonymous function) - 먼저 간단하게 함수의 구성요소에 대해 알아보자 - 함수의 이름 - 반환값의 타입(return type) - 매개변수(parameters) - 함수의 내용(body) - Lambda Exp..
- Total
- Today
- Yesterday
- MySQL
- MongoDB
- 운영체제
- 프로세스
- Phaser3
- git
- 알고리즘
- 빅데이터
- Advanced Stream
- 프로그래머스
- Phaser
- API
- DART
- node.js
- OS
- db
- Java8
- Stream
- 빅데이터 분석기사
- 자료구조
- SQL
- 코테
- 메모리
- SpringBoot
- 코딩테스트
- spring
- nosql
- Spring Boot
- jpa
- java
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |