◾️ 순수함수란 무엇인가요? 불변성과 사이드 이펙트와 연결하여 설명해주세요.
순수 함수는 프로그래밍에서 중요한 개념으로, 주어진 입력에 대해 항상 같은 출력을 반환하고 외부에 아무런 영향을 미치지 않는 함수를 말합니다. 이것은 함수형 프로그래밍에서의 핵심 원칙 중 하나입니다.
1. 순수 함수의 특징
입력에 따라 결과가 항상 동일함 : 동일한 입력에 대해서는 항상 동일한 출력이 나와야합니다. 외부 변수나 상태에 의존하지 않으므로 같은 인자를 주면 항상 같은 결과를 얻게 됩니다.
사이드 이펙트가 없음 : 순수 함수는 외부 상태를 변경하거나 다른 부수 효과를 발생시키지 않습니다. 함수 호출로 인해 프로그램의 상태가 변경되지 않습니다.
2. 불변성과의 관련성
불변성은 데이터나 상태가 변하지 않는 것을 의미합니다. 순수 함수는 불변성과 밀접한 관련이 있습니다. 순수 함수는 외부 상태를 변경하지 않으므로 입력 값과 내부 연산을 통해 새로운 값을 반환하는 방식을 취합니다. 이것은 함수 호출 사이에 데이터가 변경되지 않는 불변성을 유지할 수 있게 합니다.
3. 사이드 이펙트와의 관련성
사이드 이펙트는 함수 외부에 영향을 미치는 동작을 말합니다. 예를 들어, 전역 변수의 값 변경, 파일 입출력, 네트워크 요청 등이 사이드 이펙트의 일종입니다. 순수 함수는 사이드 이펙트가 없기 때문에 예측 가능하고 디버깅이 용이하며, 다른 부분에서 의도치 않은 문제를 발생시킬 확률을 낮춥니다.
순수 함수를 사용하면 코드의 테스트와 재사용성이 향상되며, 병렬 처리 등의 최적화 작업도 더욱 쉬워집니다. 하지만 모든 상황에서 순수 함수만을 사용할 수는 없으며, 입출력이나 불변성 유지가 어려운 경우에는 적절한 사이드 이펙트를 사용하는 것이 필요합니다. 이런 상황에서는 사이드 이펙트를 캡슐화하고 순수 함수와 분리하여 코드의 가독성과 유지보수성을 유지하는 것이 중요합니다.
◾️ React의 state와 props에 대해서 설명해주세요.
state :
State는 React컴포넌트 내부에서 관리되는 데이터를 의미합니다. 컴포넌트의 상태가 변할 때마다 React는 자동으로 해당 부분을 다시 렌더링하여 사용자 인터페이스를 업데이트합니다.
props :
props는 React 컴포넌트 간에 데이터를 전달하기 위한 매커니즘입니다. 부모 컴포넌트에서 자식 컴포넌트로 데이터를 전달할 때 사용합니다. props는 읽기 전용으로 자식 컴포넌트에서는 변경할 수 없습니다. 부모 컴포넌트에서 변경된 props를 전달하면 React는 자동으로 해당 자식 컴포넌트를 다시 렌더링 합니다. props를 사용하여 부모 컴포넌트의 상태를 자식 컴포넌트에 전달하여 재사용성과 유연성을 높일 수 있습니다. 또한 컴포넌트 간의 데이터 흐름을 명확히하고 컴포넌트간의 결합도를 낮출 수 있습니다.
'TIL' 카테고리의 다른 글
[TIL] react-datepicker 날짜 선택 시 현재 캘린더로 돌아오는 오류 (0) | 2024.08.05 |
---|---|
[TIL] 반응형 테이블에서 text-ellipsis 사용하기 (0) | 2024.06.14 |
7/27(목) 데일리 과제 (0) | 2023.07.27 |
7/26(수) 데일리 과제 (0) | 2023.07.27 |
7/25(화) 데일리 과제 (0) | 2023.07.27 |