리액트 선언형프로그래밍
✨리액트 선언형프로그래밍
프로그램은 크게 명령형 프로그래밍과 선언형 프로그램으로 나눌 수 있다.
✅명령형 프로그래밍
명령형 프로그래밍은 어떻게에 집중하여 프로그래밍하는 방법을 말한다.
명령형 프로그래밍 장점
- 직관성: 단계를 명확하게 정의하므로 개발자가 프로그래밍의 동작 방식을 쉽게 이해할 수 있음
- 유연성: 절차적인 방식으로 문제를 해결하기 때문에 다양한 제어 구조를 사용해 원하는 방식으로 프로그램을 제어할 수 있음
명령형 프로그래밍 단점
- 과정이 복잡하다면 코드 역시 복잡해질 수 있고, 예측하기 어려워짐
예시1
우리 집을 처음 오는 사람에게 우리 집에 오는 방법을 명령형 프로그래밍으로 설명해보면 다음과 같다.
@@@에서 쭉 직진하다가 다음 사거리에서 좌회전 한 후에 계속 직진하다가, @@@@가 나오면 좌회전을 한다. 그리고 쭉 직진하면 우리집이 나온다.
어떻게 집을 찾아오는지에 집중하여 길을 설명한다.
예시2
함수로 전달받은 배열 안의 값을 열 배로 증가시키는 기능의 함수를 명령형 프로그래밍으로 작성해보면 다음과 같다.
1
2
3
4
5
6
7
const multiplyArrayByTen = (arr) => {
const result = [];
for (let i = 0; i > arr.length; i++) {
results.push(arr[i] * 10);
}
return result;
};
위의 코드는 과정을 중심으로 코드가 짜여졌다.
- 주어진 배열의 값을 늘리기 위해
for문
을 사용 - 변수
(i)
와 배열의 크기(arr.length)
를 사용해서 배열(arr[i])
의 값을 하나씩 가져와 10배로 만든 다음 result에 추가 - 모든 작업이 종료되면 result를 반환
✅선언형 프로그래밍
선언형 프로그래밍은 무엇에 집중하여 프로그래밍하는 방법을 말한다.
선언형 프로그래밍 장점
- 가독성: 예측 가능한 코드를 작성할 수 있음
- 코드 재사용성: 함수형 프로그래밍 기법을 사용하여 모듈화된 코드를 작성할 수 있음
선언형 프로그래밍 단점
- 초보자에게는 학습할 양이 많아 개념 및 기술을 익히는데 시간이 오래 걸릴 수 있음
- 불필요한 중간 데이터 구조를 생성하는 경우에는 성능 저하가 발생할 수 있음
예시1
우리 집을 처음 오는 사람에게 우리 집에 오는 방법을 선언형 프로그래밍으로 설명해보면 다음과 같다.
우리집은 @@@시 @@@구 @@@동 @@@입니다.
우리 집자체를 설명한다.
예시2
1
2
3
const multiplyArrayByTen = (arr) => {
return arr.map((item) => item * 10);
};
위의 코드는 결과를 중심으로 코드가 짜여졌다.
map()
메소드를 사용하여 배열의 값을 10배로 만들어 반환
✅비교
명령형 프로그래밍은 그 값을 얻기 위해 어떻게 해야하는지에 포커스를 맞추고, 선언형 프로그래밍은 결과값이 무엇인지에 포커스를 맞춘다.
출처
- 현장에서 바로 써먹는 리액트 with 타입스크립트
This post is licensed under CC BY 4.0 by the author.