Java

Programming/Java

[Java] - 5. 메소드 레퍼런스

5. 메소드 레퍼런스 람다가 하는 일이 기존 메소드 또는 생성자를 호출하는 거라면, 메소드 레퍼런스를 사용해서 매우 간결하게 표현할 수 있다. 메소드 참조하는 방법 스태틱 메소드 참조 타입::스태틱 메소 특정 객체의 인스턴스 메소드 참조 객체 레퍼런스::인스턴스 메소드 임의 객체의 인스턴스 메소드 참조 타입::인스턴 메소드 생성자 참조 타입:new 메소드 또는 생서앚의 매개변수로 람다의 입력값을 받는다. 리턴값 또는 생성한 객체는 람다의 리턴값이다. public class Greeting { private String name; public Greeting() { } public Greeting(String name) { this.name = name; } public String getName() { ..

Programming/Java

[Java] - 4. 람다 표현식

4. 람다 표현식 람다 (인자 리스트) -> {바디} 인자 리스트 인자가 없을 때: () 인자가 한개일 때: (one) 또는 one 인자가 여러개 일 때: (one, two) 인자의 타입은 생략 가능, 컴파일러가 추론(infer)하지만 명시할 수도 있다. (Integer one, Integer two) 바디 화살표 오른쪽에 함수 본문을 정의한다. 여러 줄인 경우에 {}를 사용해서 묶는다. 한 줄인 경우에 생략 가능, reutrn도 생략 가능. 변수 캡처 (Variable Capture) 로컬 변수 캡처 final이거나 effective final인 경우에만 참조할 수 있다. 그렇지 않을 경우 concurrency 문제가 생길 수 있어서 컴파일러가 방지한다. effective final 이것도 역시 자바 ..

Programming/Java

[Java] - 3. 자바에서 제공하는 함수형 인터페이스

3. 자바에서 제공하는 함수형 인터페이스 Java가 기본으로 제공하는 함수형 인터페이스 java.util.function 패키지 자바에서 미리 정의해둔 자주 사용할만한 함수 인터페이스 Function BiFunction Consumer Supplier Predicate UnaryOperator BinaryOperator Function T 타입을 받아서 R 타입을 리턴하는 함수 인터페이스 R apply(T t) 함수 조합용 메소드 andThen compose Function plus10_1 = (i) -> i + 10; Function multiply2 = (i) -> i * 2; System.out.println("plus10_1.apply(1): " + plus10_1.apply(1)); System..

Programming/Java

[Java] - 2. 함수형 인터페이스와 람다 표현식 소개

2. 함수형 인터페이스와 람다 표현식 소개 함수형 인터페이스 (Functional Interface) 추상 메소드를 딱 하나만 가지고 있는 인터페이스 SAM (Single Abstract Method) 인터페이스 @FunctionalInterface 애노테이션을 가지고 있는 인터페이스 @FunctionalInterface public interface RunSomething { void doIt(); } public class Foo { public static void main(String[] args) { // 익명 내부 클래스 anonymous inner class RunSomething runSomething = new RunSomething() { @Override public void doIt..

rw-
'Java' 태그의 글 목록 (3 Page)