람다식

메소드 참조(Method References) 메소드를 참조해서 매개변수 리턴타입을 알아내어 람다식에서 불필요한 매개변수를 제거하는 것이 목적 정적 메소드와 인스턴스 메소드 참조 클래스::메소드 // 정적(static) 메소드 참조 참조변수::메소드 // 인스턴스 메소드 참조 예제코드) public class Calculator { public static int staticAdd(int x, int y){ return x+y; } public int instanceAdd(int x, int y){ return x+y; } } public class MethodReferences { public static void main(String[] args) { List strList = Arrays.asLis..
클래스 멤버와 로컬 변수 사용 람다식 실행블록에는 클래스 멤버와 로컬 변수를 사용할 수 있다. 클래스의 멤버 사용 일반적으로 익명객체에 사용되는 this는 익명객체의 참조이지만, 람다식에서 this는 내부적으로 생성되는 익명 객체의 참조가 아니라 람다식을 실행한 객체의 참조이다. this 사용 예제 public class UsingThis { public int outterValue = 10; class Inner{ int innerValue = 20; void method(){ MyFunctionalInterface fi = () -> { int innerValue = 40; System.out.println("outterValue : " + outterValue); System.out.println(..
[람다식] 타겟 타입과 함수적 인터페이스 람다식의 형태는 매개변수를 가진 코드블록이어서 메소드를 선언하는 것처럼 보이지만 실제로는 이 메소드를 가지고 있는 객체를 생성해 낸다. (자바는 메소드를 단독으로 선언할 수 없기 때문) 인터페이스 변수 = 람다식;람다식은 인터페이스의 익명 구현 객체를 생성한다고 보면 된다. (클래스를 생성하고 객체화 함) 인터페이스의 종류에 따라 작성 방법이 달라지기 때문에 람다식이 대입될 인터페이스를 람다식의 타겟 타입(target type)이라고 한다. 함수적 인터페이스(@FunctionallInterface) 람다식이 하나의 메소드를 정의하기 때문에 두 개 이상의 추상 메소드가 선언된 인터페이스는 람다식을 이용해 객체를 생성할 수 없다. 하나의 추상 메소드가 선언된 인터페이..
람다식 람다식이란? 자바8부터는 객체 지향 프로그래밍과 함수적 프로그래밍을 혼합할 수 있게 람다식을 제공한다. 람다식은 익명 함수(anonymous function)를 생성하기 위한 식으로 객체 지향 언어보다는 함수 지향 언어에 가깝다. 람다식 -> 매개 변수를 가진 코드 블록 -> 익명 구현 객체 Runnable 인터페이스의 익명 객체를 생성하는 전형적인 코드 방식 Runnable runnable = new Runnable(){ public void run(){ ... } }; Runnable runnable = ()-> { ... }; 람다식은 "(매개변수) -> {실행코드}" 형태로 작성된다. 런타임 시에 인터페이스의 익명 구현 객체로 생성된다. 어떤 인터페이스를 구현할 것인가는 대입되는 인터페이스..
깡냉쓰
'람다식' 태그의 글 목록