절차형 프로그래밍 vs 선언형 프로그래밍

Judo·2020년 11월 14일
1
post-thumbnail
post-custom-banner

절차형 프로그래밍

무엇을 어떻게 할 것인가

절차형 프로그래밍은 어떻게에 중점을 두고 프로그래밍을 하는 방식을 말한다.
즉, 코드로 원하는 결과를 달성해 나가는 과정에 중점을 두는 프로그래밍 방식이다.

예제

// 배열을 파라미터로 받고 각 요소들의 값에 2를 곱하는 함수 
function double (arr) { 
  let results = [];
  for (let i = 0; i < arr.length; i++){ 
    results.push(arr[i] * 2) 
  } 
  return results 
}

위 코드처럼 절차형 프로그래밍 방식은 배열 요소의 곱하기 2 한 값을 구하기 위해 반복문으로 배열 요소 하나하나에 접근, 계산하는 방법을 구현하고 있다.

선언형 프로그래밍

무엇을 할 것인가

함수형 프로그래밍은 선언적 프로그래밍이라는 더 넓은 프로그래밍 패러다임의 한 가지다.
선언형 프로그래밍은 필요한 것을 달성하는 과정을 하나하나 기술하는 것보다 필요한 것이 어떤것인지 기술하는 데 중점을 두는 방식이다.

function double (arr) { 
  return arr.map((item) => item * 2) 
}

위 코드는 절차형 프로그래밍 방식이 추상화 된 것이다. 이처럼 선언형 방식은 map()이 어떻게 작동되는지 알 필요없이 무엇을 원하는지에 중점을 두는 방식이다.

profile
즐거운 코딩
post-custom-banner

0개의 댓글