● 도입 - 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..
● 도입 - 함수가 1급 시민이 되기 위해서는 함수를 object 형태로 나타내야한다. - 이를 가능하게 해주는 것이 java의 Function Interface이다. - 핵심 : 함수를 object 형태로 나타내보자 프로그래밍에서 1급 시민의 조건 1. 함수/메서드의 매개변수(parameter)로서 전달할 수 있는가 2. 함수/메서드의 반환값(return)이 될 수 있는가 3. 변수에 담을 수 있는가 ● Function Interface - 위의 interface 중에서 Function이라는 Interface에 대해 알아보자 // Function interface는 아래와 같이 생겼다. @FunctionalInterface public interface Function { R apply(T t); //..
● 도입 - 지금까지 나는 OOP 방식으로 java 프로그래밍을 해왔다.(사실 배운게 이거 밖에 없다.) - 즉, 비즈니스 요구나 문제를 해결함에 있어서 모든 것을 '객체로 추상화'한 다음에 풀이해 왔다는 것이다. - 이러한 기존의 패러다임의 변화에 대해 알아보자 ● 함수형 프로그래밍이란? - 함수형 프로그래밍은 OOP(객체지향) 프로그래밍과 문제에 대한 접근 방식이 다르다. - 아래의 글에서 조금 더 자세히 알아보자 Java에서 함수의 작명은 insertUser, deleteName과 같이 '동사형'으로 짓는다. 객체의 작명은 UserName, ProductPrice와 같이 '명사형'으로 짓는다. 명령형 프로그래밍(Imperative Programming) - OOP 객체 지향 프로그래밍 - How t..
- Total
- Today
- Yesterday
- Spring Boot
- 빅데이터
- Phaser3
- 운영체제
- db
- jpa
- 알고리즘
- MySQL
- nosql
- 코딩테스트
- 빅데이터 분석기사
- git
- MongoDB
- 메모리
- 코테
- 프로그래머스
- Stream
- node.js
- SQL
- OS
- Advanced Stream
- java
- spring
- Java8
- Phaser
- API
- 프로세스
- SpringBoot
- 자료구조
- DART
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |