함수형 프로그래밍

HKTUOHA·2022년 12월 18일
0

IT 5분 잡학 사전

목록 보기
11/12
post-thumbnail

📌함수형 프로그래밍

  • 객체 지향 프로그래밍과 마찬가지로 프로그래밍 패러다임 중 하나

  • 자바, 자바스크립트, 파이썬 등이 지원한다.

❗배워야 하는 이유

  • '버그가 발생하기 어려운 구조'라서 개발자에게 매우 유용하기 때문이다.


📌선언형 프로그래밍

원하는 결괏값을 선언한다.

예) CSS

  • 자바스크립트로 공백을 ♡로 바꾸기
    - textspaceToHeart 함수에 넣어 주면 text의 공백을 replaceAll로 ♡라고 교체하는 것 말고는 없다.
    - textreplaceAll이 실제 어떤 작업을 하는지 선언형 프로그래밍으로서는 중요하지 않다.
    - 물론 replaceAll은 명령형 프로그래밍으로 작성되어 있을 것이다.
    ⇒ 모든 선언형 프로그래밍은 명령형 프로그래밍 위에 쓴다고 이야기할 수 있다.
function spaceToHeart(text) {
	return text.replaceAll(" ", "♡")  
}

📌명령형 프로그래밍

원하는 결괏값에 어떻게 도달하는지 선언한다.

  • 자바스크립트로 공백을 ♡로 바꾸기
    - 입력한 text의 글자를 1개씩 모두 비교하면서 공백이면 ♡로, 공백이 아니면 result에 이어 붙이도록 코드를 작성한다.
    - 말 그대로 텍스트의 공백을 어떻게 해야 하는지를 하나씩 알려준다.
function spaceToHeart(text) {  
	let result = "";
	for (let i = 0; i < text.length; i++) {
    	if (text[i] === " ") {
        	result += "♡";
        } else {
        	result += text[i];
        }
    }
  return result;
}


📌정리

  • 명령형 프로그래밍은 할 일을 세세하게 지시할 수 있는 대신 개발자가 실수하기 쉽다.

  • 선언형 프로그래밍은 결과 중심으로 코드를 작성하니 실수도 적고, 동료가 코드를 이해하기도 쉽다.

  • 함수형 프로그래밍은 함수 중심으로 코드를 적는 방식으로 선언형 프로그래밍 콘셉트를 유지한다.

profile
갓생을 살아보자

0개의 댓글