명령형 프로그래밍과 선언적 프로그래밍 With Java

KKH_94·2023년 8월 30일
0

Reactive_Programming

목록 보기
9/18

명령형 프로그래밍 예시

public class ImperativeExample {
    public static int sumOfSquaresImperative(int[] numbers) {
        int total = 0;
        for (int num : numbers) {
            total += num * num;
        }
        return total;
    }

    public static void main(String[] args) {
        int[] numbers = {1, 2, 3, 4, 5};
        int result = sumOfSquaresImperative(numbers);
        System.out.println(result);  // 출력: 55
    }
}

선언적 프로그래밍 예시

import java.util.Arrays;

public class DeclarativeExample {
    public static int sumOfSquaresDeclarative(int[] numbers) {
        return Arrays.stream(numbers)
                .map(num -> num * num)
                .sum();
    }

    public static void main(String[] args) {
        int[] numbers = {1, 2, 3, 4, 5};
        int result = sumOfSquaresDeclarative(numbers);
        System.out.println(result);  // 출력: 55
    }
}

코드의 차이점


명령형 코드 : sumOfSquaresImperative 메서드에서는 반복문을 사용하여 배열의 각 숫자의 제곱 값을 누적하고, total 변수를 사용하여 상태를 변경합니다.

선언적 코드 : sumOfSquaresDeclarative 메서드에서는 배열을 스트림으로 변환하고, map() 함수를 사용하여 각 숫자를 제곱한 후, sum() 함수로 값을 합산합니다. 이때 반복문이나 명시적인 변수 사용 없이도 원하는 결과를 얻을 수 있습니다.

Java의 Stream API를 활용하는 것이 선언적 프로그래밍을 강조하는 방식입니다.

profile
_serendipity

0개의 댓글