SeouliteLab

[Java/자바] Consumer 인터페이스 예제와 활용 본문

프로그래밍

[Java/자바] Consumer 인터페이스 예제와 활용

Seoulite Lab 2024. 3. 13. 08:13

Java 8에서 소개된 Consumer 인터페이스는 함수형 프로그래밍에서 사용되며, 하나의 인수를 받아서 작업을 수행합니다. 이번에는 Consumer의 예제 코드와 활용에 대해 살펴보겠습니다.

예제 1: 숫자를 출력하는 Consumer

Consumer numberPrinter = number -> System.out.println("Number: " + number);
numberPrinter.accept(10); // 출력 결과: Number: 10

이 예제에서는 Integer를 입력으로 받아와서 콘솔에 출력하는 Consumer를 만들어 실행했습니다.

예제 2: 문자열을 대문자로 변환하는 Consumer

Consumer upperCaseConverter = str -> System.out.println("UpperCase: " + str.toUpperCase());
upperCaseConverter.accept("hello"); // 출력 결과: UpperCase: HELLO

이 예제에서는 문자열을 입력으로 받아와서 대문자로 변환하여 출력하는 Consumer를 만들어 실행했습니다.

예제 3: 리스트의 요소를 출력하는 Consumer

import java.util.Arrays;
import java.util.List;

List fruits = Arrays.asList("Apple", "Banana", "Orange");

Consumer listPrinter = fruit -> System.out.println("Fruit: " + fruit);

fruits.forEach(listPrinter);

이 예제에서는 리스트의 각 요소를 출력하는 Consumer를 만들어서 forEach 메서드를 통해 적용했습니다.

예제 4: 파일을 삭제하는 Consumer

import java.io.File;

Consumer fileDeleter = filePath -> {
    File file = new File(filePath);
    if (file.delete()) {
        System.out.println("File deleted successfully: " + filePath);
    } else {
        System.out.println("Failed to delete the file: " + filePath);
    }
};

fileDeleter.accept("path/to/file.txt");

이 예제에서는 파일 경로를 입력으로 받아와서 해당 파일을 삭제하는 Consumer를 만들어 실행했습니다.

예제 5: 소수를 판별하는 Consumer

Consumer primeChecker = number -> {
    boolean isPrime = true;
    for (int i = 2; i <= Math.sqrt(number); i++) {
        if (number % i == 0) {
            isPrime = false;
            break;
        }
    }
    if (isPrime)
        System.out.println(number + " is a prime number");
    else
        System.out.println(number + " is not a prime number");
};

primeChecker.accept(17); // 출력 결과: 17 is a prime number

이 예제에서는 소수인지를 판별하는 Consumer를 만들어서 실행했습니다.

예제 6: 문자열을 역순으로 출력하는 Consumer

Consumer reversePrinter = str -> {
    StringBuilder reversed = new StringBuilder(str).reverse();
    System.out.println("Reversed: " + reversed);
};

reversePrinter.accept("Java is cool!"); // 출력 결과: Reversed: !looc si avaJ

이 예제에서는 문자열을 입력으로 받아와서 역순으로 출력하는 Consumer를 만들어 실행했습니다.