함수형 프로그래밍은 언제 쓰일까?

프로그래밍 패러다임 개념

Eleanor Thomas

Senior Data Analytics Engineer

함수형 프로그래밍의 활용

  • 머신러닝, 딥러닝, 인공지능
  • 대규모 데이터셋 분석·처리
  • 데이터 엔지니어링(예: Scala, Clojure)

데이터 처리

프로그래밍 패러다임 개념

함수형 프로그래밍 예시

def process_data(raw_data):
    processed_data = raw_data

    ... further processing steps here! ...

    return processed_data
  • 함수는 입력 데이터 raw_data를 받습니다
  • 출력용 새 변수 processed_data를 만듭니다
  • 데이터를 일관된 단계로 추가 처리합니다
  • 최종적으로 processed_data를 반환합니다
프로그래밍 패러다임 개념

함수형 프로그래밍의 장단점

장점

  • 순수 함수는 읽기·디버깅이 쉽습니다
  • 순수 함수는 테스트가 쉽습니다
  • 예기치 않은 부작용이 적습니다
  • 순수 함수는 프로젝트 간 재사용성이 높습니다
  • 병렬 실행으로 성능을 높일 수 있습니다

단점

  • 사고 전환이 어렵고 제한적으로 느껴질 수 있음: 우리가 원하는 작업(파일 쓰기 등)은 종종 "부작용"입니다
  • 함수형 관련 전문가·도구·프레임워크가 적습니다
  • 학습 곡선이 가파르고 자료가 적습니다
  • 메모리 사용량이 커서 적용 한계가 있습니다
프로그래밍 패러다임 개념

함수형 vs. 선언형 프로그래밍

  • 함수형 프로그래밍은 선언형 프로그래밍의 한 유형입니다
  • 선언형: 어떻게가 아니라 무엇을 할지 지시합니다
  • 함수형은 선언형 프로그래밍의 한 종류일 뿐입니다
  • 프로그래머는 절차가 아닌 실행할 함수를 지정합니다

함수형 프로그래밍은 선언형

프로그래밍 패러다임 개념

연습해 봅시다!

프로그래밍 패러다임 개념

Preparing Video For Download...