함수형 프로그래밍

O0·2022년 6월 12일
0

JAVA8

목록 보기
2/5
post-thumbnail

함수형 프로그래밍


  1. 함수형 프로그래밍 이해
  • 함수형 프로그래밍을 이해하기 위해서는 명령형(imperative) 프로그래밍과 선언형(declarative) 프로그래밍에 대한 이해가 필요하다.

  • 명령형 프로그래밍은 기존의 방식으로 특정 기능을 수행하기 위해 how에 집중하는 방식이다.

  • 선언형 프로그래밍은 특정 기능을 수행하기 위해 what에 집중하는 방식이다.

  • 함수형 프로그래밍은 선언형 프로그래밍을 따르는 대표적인 프로그래밍 패러다임이다.

    		   //명령형 프로그래밍
    			List<Integer> list = Arrays.asList(1,2,3,4,5,6,7,8,9);
    			int result = 0;
    			for(int n : list) {
    				if(n%2 == 0) {
    					result += n;
    				}
    			}
    			System.out.println(result);
    		
    			//선언형 프로그래밍
    			int result2 = 0;
    			result2 = list.stream()
    					.filter(n -> n % 2 == 0)
    					.mapToInt(Integer::intValue)
    					.sum();
    			System.out.println(result2);
    
  1. 함수형 프로그래밍 정의
  • 함수형 프로그래밍은 함수들의 집합으로 프로그램을 구성하는 것
  • 함수형 프로그래밍의 함수는 순수함수, 일급객체, 불변의 주료구조 등과 같은 특성을 갖는다.
    • 순수함수 : a입력에 대해서는 무조건 b 결과를 나오도록 해야한다. 이 함수가 실행될 때 외부에 다른 것은 변하면 안 된다.
    • 일급객체 : 함수를 변수에 담는 개념. 즉 함수를 변수처럼 사용한다.
    • 영속 자료구조 : list를 직접 제어하지 않고 데이터를 제어하고자 할 때 데이터를 카피해서 변경한다. 원본 변경 불가.

출처


  • 유튜버 : 나무소리(함수형 프로그래밍)
profile
O0

0개의 댓글