람다 1. 함수형 프로그래밍과 람다식 자바는 객체 지향 프로그래밍 : 기능을 수행하긴 위해서는 객체를 만들고 그 객체 내부에 멤버 변수를 선언하고 기능을 수행하는 메서드를 구현 함수의 구현과 호출만으로 프로그래밍이 수행되는 방식 함수형 프로그래밍(Functional Programming: FP) 함수형 프로그래밍은 순수함수(pure function)를 구현하고 호출함으로써 외부 자료에 부수적인 영향(side effect)를 주지 않도록 구현하는 방식입니다. 순수 함수란 매개변수만을 사용하여 만드는 함수 입니다. 즉, 함수 내부에서 함수 외부에 있는 변수를 사용하지 않아 함수가 수행되더라도 외부에는 영향을 주지 않습니다. 함수를 기반으로 하는 프로그래밍이고 입력받는 자료 이외에 외부 자료를 사용하지 않아 ..
람다식(Lambda Expression) 함수를 간단한 '식(expression)'으로 표한하는 방법 익명함수(이름이 없는 함수, anonymous function) 람다식은 익명함수가 아니라 익명 객체 이다. 예시 //Object obj = (a, b) -> a > b ? a: b; //람다식. 익명객체 Object obj = new Object() { int max(int a, int b){ return a > b ? a : b; } }; 위의 두 가지 코드는 같은 방식이다. 함수와 메서드의 차이 근본적으로는 동일. 함수는 일반적인 용어, 메서드는 객체지향개념 용어 함수는 클래스에 독립적, 메서드는 클래스에 종속적 함수형 인터페이스 함수형 인터페이스 : 단 하나의 추상 메서드만 선언된 인터페이스 @F..
람다식 함수적 프로그래밍. 즉, y = f(x) 형태의 함수로 구성된 프로그래밍 기법 함수, 메서드를 하나의 식으로 표현하는 것이다 이름과 반환 값이 없기 때문에 익명함수(Anonymous Function)이라 한다. 람다식은 JDK 1.8에 추가 되었다. 자바에서 람다식을 수용한 이유 코드가 매우 간결해진다. 컬렉션 요소(대용량 데이터)를 필터링 또는 매핑해서 쉽게 집계할 수 있다. 1. 기본예제 (매개변수가 없을 경우) public interface MyFunctionalInterface { public void method(); } package com.kyhslam.lamda; public class MyFunctionalMain { //매개변수가 없을 경우 public static void ma..