Programming/JAVA (139) 썸네일형 리스트형 람다식(4) - 표준 API의 함수적 인터페이스 5 : Operator Functional Interface 2 앞선 아티클에서 Operator Functional Interface의 여러 종류를 살펴보았습니다. 람다식(4) - 표준 API의 함수적 인터페이스 5 : Operator Functional Interface 1 Operator 함수적 인터페이스에 대해서도 살펴보겠습니다. 사실, Operator 함수적 인터페이스의 경우 직전에 살펴보았던 Function 함수적 인터페이스와 공통점이 있습니다. 바로 추상 메서드가 applyxxx( ) nozeroslope.tistory.com 패턴 자체는 반복되고 있으므로 혹시라도 이해가 가지 않으신다면(중간에 오랜 기간 공부를 멈춰서 잊으셨다면) 아래 람다식 기본 개념을 다시 잘 숙지하시기 바랍니다. 람다식의 가장 기본 원리를 다시 상기하고 난 이후라면 반복되는 응용 패.. 람다식(4) - 표준 API의 함수적 인터페이스 5 : Operator Functional Interface 1 Operator 함수적 인터페이스에 대해서도 살펴보겠습니다. 사실, Operator 함수적 인터페이스의 경우 직전에 살펴보았던 Function 함수적 인터페이스와 공통점이 있습니다. 바로 추상 메서드가 applyxxx( ) 형태로 이루어져 있고, 이 메서드는 파라미터와 리턴 값을 모두 갖습니다. 하지만, Function 함수적 인터페이스와 결정적인 차이가 있습니다. Function 함수적 인터페이스의 추상 메서드들은 주요한 목적이 파라미터를 통해 값을 받고, 리턴 값의 데이터 타입으로 매핑(타입을 변환)하는 역할을 수행한다고 했습니다. 하지만 Operator의 추상 메서드는 주요 목적이 파라미터의 값을 받고, 그 값으로 연산을 수행하고 동일한 타입으로 리턴 값을 제공하는 것입니다. Function과는 구.. 람다식(4) - 표준 API의 함수적 인터페이스 4 : Function Functional Interface 2 지난 아티클에서 Function 함수적 인터페이스에 대해서 살펴보았습니다. 이번 아티클에서는 Student라는 예제 클래스를 사용해 이 Function 함수적 인터페이스의 사용 예시를 만들어 보겠습니다. 람다식(4) - 표준 API의 함수적 인터페이스 4 : Function Functional Interface 1 이번 아티클에서는 Function 함수적 인터페이스에 대해서 살펴보겠습니다. Function 함수적 인터페이스의 특징은, 파라미터 값을 받아 리턴 값으로 타입 변환(매핑)하는 역할을 한다는 점입니다. 즉, nozeroslope.tistory.com 우선 아래와 같이 Student 클래스를 선언합니다. public class Student { private String name; private .. 람다식(4) - 표준 API의 함수적 인터페이스 4 : Function Functional Interface 1 이번 아티클에서는 Function 함수적 인터페이스에 대해서 살펴보겠습니다. Function 함수적 인터페이스의 특징은, 파라미터 값을 받아 리턴 값으로 타입 변환(매핑)하는 역할을 한다는 점입니다. 즉, 앞서 배운 Consumer, Supplier와 달리 파라미터와 리턴 값이 모두 있다는 특징을 갖게 되는 것이죠. 공통적으로 applyXXX( ) 형태의 추상 메서드를 갖습니다. 파라미터, 리턴 값의 타입에 따라서 Function 함수적 인터페이스들은 아래와 같이 분류됩니다. 인터페이스명 추상 메서드 설명 Function R apply(T t) 객체 T를 R로 매핑 BiFunction R apply(T t, U u) 객체 T와 U를 R로 매핑 DoubleFUnction R apply(double valu.. 람다식(4) - 표준 API의 함수적 인터페이스 3 : Supplier Functional Interface 우리는 앞서서 Consumer 함수적 인터페이스를 살펴보았습니다. 여기서 Consumer 계열 인터페이스의 특징은 "파라미터는 있지만, 리턴 값은 없다"는 점이 특징이었죠. 람다식(4) - 표준 API의 함수적 인터페이스 2 : Consumer Functional Interface 앞선 아티클에서 표준 API로 제공되는 함수적 인터페이스들의 종류에 대해서 간단히 살펴보았습니다. 람다식(4) - 표준 API의 함수적 인터페이스 1 앞서서 함수적 인터페이스 - 즉, 단 한 개의 추상 nozeroslope.tistory.com 이번 시간에 살펴볼 Supplier는 이름에서 유추할 수 있다시피, Consumer 타입과는 반대로 [파라미터는 없고, 리턴 값이 있는 추상 메서드]를 갖습니다. 이때 추상메서드는 ge.. 람다식(4) - 표준 API의 함수적 인터페이스 2 : Consumer Functional Interface 앞선 아티클에서 표준 API로 제공되는 함수적 인터페이스들의 종류에 대해서 간단히 살펴보았습니다. 람다식(4) - 표준 API의 함수적 인터페이스 1 앞서서 함수적 인터페이스 - 즉, 단 한 개의 추상 메서드를 가지는 인터페이스를 통해 람다식을 작성하는 방법을 살펴보았습니다. 이제, 자바에서 제공하고 있는 표준 API 중에서 한 개의 추상 메 nozeroslope.tistory.com 이제 여기서 리스팅 된 여러 가지 종류의 인터페이스들을 종류별로 하나씩 살펴보겠습니다. 우선, Consumer계열의 인터페이스 입니다. Consumer 함수적 인터페이스의 특징은 [파라미터는 있지만 리턴 값은 없는] accept( ) 추상 메서드를 가지고 있다는 점입니다. Consumer라는 이름처럼, 추상 메서드 acce.. 람다식(4) - 표준 API의 함수적 인터페이스 1 앞서서 함수적 인터페이스 - 즉, 단 한 개의 추상 메서드를 가지는 인터페이스를 통해 람다식을 작성하는 방법을 살펴보았습니다. 이제, 자바에서 제공하고 있는 표준 API 중에서 한 개의 추상 메서드만을 갖는 인터페이스를 살펴보겠습니다. 당연히 이러한 인터페이스들 역시 모두 람다식을 통해서 익명 구현 객체 표현이 가능하겠죠? 나중에 스레드 항목에서 다시 배워보겠지만, 스레드의 작업을 정의하는 Runnable이라는 인터페이스가 있습니다. 이 인터페이스는 파라미터와 리턴 값이 없는 run( )이라는 메서드만 존재하기 때문에, 당연히 람다식을 사용해 Runnable 인스턴스를 생성할 수 있습니다. 람다식을 통해서 다음과 같이 구현해 보겠습니다. 실행 클래스에서 람다식으로 익명 객체를 구현했습니다. public .. 람다식(3) - 클래스 멤버, 로컬 변수의 사용 2 자, 이번 시간에는 새롭게 배우는 내용이 아니라 - 지금까지 학습해 왔지만 분명 50% 이상의 확률로 잊어버렸을 내용을 상기하는 대목입니다. 이번 아티클이 짧다면, 다 이유가 있습니다. 최소한 두~세 개 아티클을 복습하셔야 하기 때문입니다. 저는 머리가 나쁘기 때문에 계속 반복해서 살펴보도록 하겠습니다. 일단, 람다식을 배우고 실제로 써먹게 되면 (지금은 이해가 안갈수도 있겠지만) 람다식은 대부분 '메서드 내부에서' 사용하게 되는 경우가 많습니다. 그럼 한가지 되짚어 보겠습니다. 우리가 '메서드 내부에서 선언하는 클래스'를 뭐라고 했죠? "로컬 클래스"라고 칭했습니다. 그럼 '메서드 내부에서 람다식을 선언한다면?' 이 역시 익명의 클래스 레벨의 객체를 만들어 내는 상황이기 때문에, 익명인 로컬 클래스를 .. 이전 1 ··· 6 7 8 9 10 11 12 ··· 18 다음