로그인

검색

OBG
조회 수 6904 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 게시글 수정 내역 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 게시글 수정 내역 댓글로 가기 인쇄

https://velog.io/@teo/functional-programming-study

 

gemini 요약

 

📜 함수형 프로그래밍(Functional Programming, FP) 요약

 

제시하신 Velog 글은 **함수형 프로그래밍(FP)**의 기본 개념과 주요 특징을 소개하며, 이를 통해 얻을 수 있는 장점을 설명하고 있습니다.


 

1. 함수형 프로그래밍이란?

 

  • 정의: 함수형 프로그래밍은 **함수(function)**를 가장 기본적인 구성 요소로 사용하여 프로그램을 작성하는 방식입니다.

  • 핵심 원칙: 데이터의 **불변성(Immutability)**을 유지하고, 프로그램의 상태(State) 변화를 피하는 것을 목표로 합니다.

  • 명령형 vs. 함수형:

    • 명령형(Imperative): "어떻게(How)" 할지에 집중하며, 순차적인 명령어와 상태 변화를 통해 결과를 도출합니다. (예: $\text{Java}, \text{C}, \text{Python}$ 일부)

    • 함수형(Functional): "무엇을(What)" 할지에 집중하며, 함수 호출과 조합을 통해 결과를 도출합니다. (예: $\text{Haskell}, \text{Scala}, \text{Clojure}$)


 

2. 함수형 프로그래밍의 주요 특징

 

 

A. 순수 함수 (Pure Function)

 

  • 정의: 동일한 입력(인수)에 대해서는 **항상 동일한 출력(결과)**을 반환하며, 외부의 상태를 변경하지 않고 외부 상태의 영향을 받지도 않는 함수입니다.

  • 특징: **부수 효과(Side Effect)**가 없습니다.

    • 부수 효과 예시: 전역 변수 변경, 데이터베이스 쓰기, 파일 쓰기, 화면 출력 등 함수 외부의 상태를 변경하는 모든 행위.

 

B. 불변성 (Immutability)

 

  • 정의: 한 번 생성된 데이터는 절대로 변경되지 않고 항상 새로운 데이터를 생성하는 방식입니다.

  • 장점: 데이터의 상태 변화를 추적할 필요가 없어 코드를 이해하기 쉽고, **경쟁 조건(Race Condition)**을 피할 수 있어 병렬 처리(Concurrency)에 유리합니다.

 

C. 일급 객체 (First-Class Citizen)

 

  • 정의: 함수가 일반적인 값(숫자, 문자열 등)과 동등하게 취급되는 것을 의미합니다.

  • 특징:

    1. 변수나 데이터 구조에 저장될 수 있습니다.

    2. 함수의 인수로 전달될 수 있습니다 (고차 함수의 핵심).

    3. 함수의 반환 값으로 사용될 수 있습니다.

 

D. 고차 함수 (Higher-Order Function, HOF)

 

  • 정의: 함수를 인수로 받거나 함수를 결과로 반환하는 함수입니다.

  • 활용 예시: 배열 메서드인 $\text{map}, \text{filter}, \text{reduce}$ 등이 고차 함수의 대표적인 예시입니다.


 

3. 함수형 프로그래밍의 장점

 

  • 높은 가독성 및 예측 가능성: 순수 함수와 불변성 덕분에 코드를 읽기 쉽고, 실행 결과를 쉽게 예측할 수 있습니다.

  • 쉬운 디버깅 및 테스트: 부수 효과가 없으므로 특정 함수만 독립적으로 테스트하기가 매우 용이합니다.

  • 동시성(Concurrency) 및 병렬 처리 용이: 데이터 불변성 덕분에 여러 스레드에서 데이터를 안전하게 공유할 수 있어 멀티코어 환경에서 병렬 처리에 유리합니다.


 

💡 요약 정리

 

함수형 프로그래밍은 순수 함수불변성을 핵심으로 하여 부수 효과를 최소화하고, 프로그램의 예측 가능성안정성을 높이는 프로그래밍 패러다임입니다.

?

  1. Programming 게시판 관련

    Date2014.11.01 CategoryTool/etc ByMoA Views115911
    read more
  2. Ollama가 MLX로 갈아탔다: 애플 실리콘에서 로컬 LLM의 새로운 속도 기준

    Date2026.04.03 CategoryAgent ByOBG Views87
    Read More
  3. Claude Code 유출 관련

    Date2026.04.02 CategoryAgent ByOBG Views83
    Read More
  4. Claude Code 토큰 줄이기

    Date2026.04.02 CategoryAgent ByOBG Views71
    Read More
  5. Claude Code 플러그인 설치

    Date2026.03.31 CategoryAgent ByOBG Views151
    Read More
  6. Harness — Claude Code 에이전트 팀 & 스킬 아키텍트 플러그인

    Date2026.03.30 CategoryAgent ByOBG Views203
    Read More
  7. AI 회사들의 해킹되었다고 알려진 시스템 프롬프트들 모음

    Date2026.03.29 CategoryAgent ByOBG Views384
    Read More
  8. Codex for Software Engineers (OpenAI 공식)

    Date2026.03.19 CategoryAgent ByOBG Views609
    Read More
  9. Run LLM Locally for Coding: Step-by-Step Guide for Developers (2026)

    Date2026.03.18 CategoryAgent ByOBG Views1002
    Read More
  10. [OpenAI] 엔지니어링 활용: 에이전트 우선 환경에서 Codex를 활용하기

    Date2026.03.05 CategoryLLM ByOBG Views1921
    Read More
  11. everything is a ralph loop

    Date2026.03.05 CategoryLLM ByOBG Views1847
    Read More
  12. Claude Code 창시자가 공개한 실전 사용 팁

    Date2026.02.03 CategoryAgent ByOBG Views2624
    Read More
  13. Claude Skills 구축을 위한 완벽 가이드

    Date2026.02.03 CategoryAgent ByOBG Views2575
    Read More
  14. Claude Code - Ollama Integration

    Date2026.01.26 CategoryAgent ByOBG Views6861
    Read More
  15. 앤트로픽 해커톤 우승자의 클로드 코드 구성(configuration) 전체 컬렉션

    Date2026.01.22 CategoryAgent ByOBG Views3508
    Read More
  16. Claude Code 마스터하기 (Github, 책)

    Date2026.01.22 CategoryAgent ByOBG Views6844
    Read More
  17. 나노바나나 프로 레시피 북

    Date2026.01.15 CategoryLLM ByOBG Views4984
    Read More
  18. A Guide to Claude Code 2.0 and getting better at using coding agents

    Date2026.01.05 CategoryLLM ByOBG Views16120
    Read More
  19. Apriori 알고리즘

    Date2025.12.09 CategoryDeeplearning ByOBG Views6931
    Read More
  20. HunyuanVideo-1.5 영상 생성 모델

    Date2025.11.25 CategoryLLM ByOBG Views19768
    Read More
  21. 함수형 프로그래밍을 배워보자!

    Date2025.11.25 CategoryWeb ByOBG Views6904
    Read More
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 18 Next
/ 18