Java/함수형 인터페이스10 [Java]람다 표현식에서 Unchecked Exception 처리 람다 표현식 Unchecked Exception 처리 Java 8에 도입된 람다 표현식(Lambda expression)은 이름이 없는 익명 함수로 메서드의 동작을 간결하게 작성할 수 있습니다. 그러나, JDK에서 제공하는 함수형 인터페이스는 예외(Exception)를 다루는 경우가 거의 없습니다. 따라서, 개발자가 람다 표현식에서 발생하는 예외를 방지하기 위해 예외를 처리하는 코드를 구현해야 합니다. 람다 표현식 예외를 처리하는 코드를 구현하면 한 가지 문제가 발생하는데, 람다 표현식 사용 목적과 다르게 간결했던 코드가 장황하고 복잡해집니다. 이번 포스팅은 람다 표현식에서 예외가 발생하는 경우와 예외를 올바르게 처리하는 방법을 소개합니다. 문제가 발생하는 코드 먼저 람다 표현식에서 예외가 발생하는 경우.. Java/함수형 인터페이스 2022. 11. 3. [Java]Predicate 인터페이스 사용 방법 Predicate 인터페이스 Predicate Interface는 Java에서 함수형 프로그래밍을 구현하기 위해 Java 버전 1.8부터 도입된 함수형 인터페이스로 제네릭 타입인 한 개의 매개변수를 전달받아 특정 작업을 수행 후 Boolean 타입의 값을 반환하는 작업을 수행할 때, 사용됩니다. @FunctionalInterface public interface Predicate { boolean test(T t); default Predicate and(Predicate Java/함수형 인터페이스 2022. 8. 25. [Java]Function 인터페이스 사용 방법 Function 인터페이스 Function Interface는 Java에서 함수형 프로그래밍을 구현하기 위해 Java 버전 1.8부터 도입된 함수형 인터페이스로 한 개의 매개변수를 전달받아 특정 작업을 수행 후 새로운 값을 반환하는 경우 사용됩니다. 제네릭 타입인 한 개의 인수가 존재하며, 제네릭 타입을 반환합니다. @FunctionalInterface public interface Function { R apply(T t); default Function compose(Function Java/함수형 인터페이스 2022. 8. 24. [Java]Consumer 인터페이스 사용 방법 Consumer 인터페이스 Consumer Interface는 Java에서 함수형 프로그래밍을 구현하기 위해 Java 버전 1.8부터 도입된 함수형 인터페이스로 제네릭 타입의 매개변수를 전달받아 특정 작업을 수행해야 하는 경우 사용됩니다. 인터페이스 이름이 소비자(Consumer)인 이유는 데이터(매개변수)를 소비(사용)하고 아무것도 생성(반환)하지 않기 때문입니다. 따라서, 매개변수는 존재하지만 반환 타입은 존재하지 않습니다. @FunctionalInterface public interface Consumer { void accept(T t); default Consumer andThen(Consumer Java/함수형 인터페이스 2022. 8. 24. [Java]BiPredicate 인터페이스 사용 방법 BiPredicate 인터페이스 BiPredicate Interface는 Java에서 함수형 프로그래밍을 구현하기 위해 Java 버전 1.8부터 도입된 함수형 인터페이스로 제네릭 타입인 두 개의 매개변수를 전달받아 특정 작업을 수행 후 Boolean 타입의 값을 반환하는 작업을 수행할 때, 사용됩니다. @FunctionalInterface public interface BiPredicate { boolean test(T t, U u); default BiPredicate and(BiPredicate Java/함수형 인터페이스 2022. 8. 24. [Java]BinaryOperator 인터페이스 사용 방법 BinaryOperator 인터페이스 BinaryOperator Interface는 Java에서 함수형 프로그래밍을 구현하기 위해 Java 버전 1.8부터 도입된 함수형 인터페이스로 두 개의 매개변수를 비교하는 목적으로 사용합니다. BinaryOperator 인터페이스는 인수와 반환 타입이 전부 동일하며, BiFunction 인터페이스를 확장합니다. @FunctionalInterface public interface BinaryOperator extends BiFunction { public static BinaryOperator minBy(Comparator Java/함수형 인터페이스 2022. 8. 23. [Java]BiFunction 인터페이스 사용 방법 BiFunction 인터페이스 BiFunction Interface는 Java에서 함수형 프로그래밍을 구현하기 위해 Java 버전 1.8부터 도입된 함수형 인터페이스로 두 개의 매개변수를 전달받아 특정 작업을 수행 후 새로운 값을 반환하는 경우 사용됩니다. 제네릭 타입인 두 개의 인수가 존재하며, 제네릭 타입을 반환합니다. @FunctionalInterface public interface BiFunction { R apply(T t, U u); default BiFunction andThen(Function Java/함수형 인터페이스 2022. 8. 23. [Java]BiConsumer 인터페이스 사용 방법 BiConsumer 인터페이스 BiConsumer Interface는 Java에서 함수형 프로그래밍을 구현하기 위해 Java 버전 1.8부터 도입된 함수형 인터페이스로 두 개의 매개변수를 전달받아 특정 작업을 수행해야 하는 경우 사용됩니다. 인터페이스 이름의 의미는 두 개의 데이터(매개변수)를 소비(사용)하고 아무것도 생성하지 않는다는 의미입니다. 따라서, 제네릭 타입인 두 개의 인수가 존재하며, 반환 타입은 존재하지 않습니다. @FunctionalInterface public interface BiConsumer { void accept(T t, U u); default BiConsumer andThen(BiConsumer Java/함수형 인터페이스 2022. 8. 23. [Java]제네릭 함수형 인터페이스(Generic Functional Interface) 제네릭 함수형 인터페이스(Generic Functional Interface)란? 제네릭 함수형 인터페이스는 함수형 인터페이스의 추상 메서드에 제네릭 타입을 사용하여 모든 타입을 허용하거나 타입에 대해 제약이 존재하는 인터페이스입니다. 람다식에서 타입 설정 불가능 람다식(Lambda expression)에 매개변수의 타입과 반환 타입을 설정할 수 없습니다. 다음 예제를 통해 알아봅시다. 다음은 Integer 타입의 두 매개변수를 가지며, Integer 타입의 값을 반환하는 추상 메서드가 존재하는 함수형 인터페이스입니다. @FunctionalInterface public interface IntegerFunctionInterface { Integer process(Integer x, Integer y); .. Java/함수형 인터페이스 2022. 5. 10. [Java]함수형 인터페이스(Functional Interface) 함수형 인터페이스(Functional Interface)란? Java 8에 도입된 함수형 인터페이스는 인터페이스가 함수처럼 동작하기 때문에 함수형 인터페이스라고 합니다. 함수형 인터페이스는 하나의 추상 메서드를 가지고 있어서 SAM 인터페이스(Single Abstract Method Interface)라고도 합니다. 함수형 인터페이스는 하나의 추상 메서드 외에도 정적 메서드, 기본 메서드, Object 클래스의 메서드를 가질 수 있습니다. 함수형 인터페이스 구문 함수형 인터페이스의 기본 구문은 다음과 같습니다. public interface MyFunctionInterface { public void myMethod(); } 위 예제는 구현되지 않은 단일 메서드만 포함되어 있으므로 함수형 인터페이스입니다.. Java/함수형 인터페이스 2022. 5. 10. 이전 1 다음