지원 주차 5일째. 면접 대비를 시작했다.
how보다는 what을 설명하는 방식.
무엇을 원하는지를 설명하며 어떻게에 대한 구체적 구현방법은 명시하지 않는다. 알고리즘을 명시하지 않고 목표만 명시한다.
문제를 함수 호출과 함수 조합으로 해결.
불변성과 순수 함수를 중심으로함. 선언형 프로그래밍의 일종.
복잡한 문제를 단순한 함수들의 조합으로 해결하는 방식.
불변성 : 한번 생성된 데이터는 변경할 수 없다.
순수함수들을 블록처럼 쌓아 로직을 구현하고 고차함수를 통해 재사용성을 높인다. 같은 입력에 대해 항상 같은 출력을 반환한다.
순수 함수 : 출력이 입력에만 의존하는 것. 전역 변수에 영향을 받지 않고 매개변수에만 영향을 받는다.
고차 함수 : 함수가 함수를 매개변수로 받아 로직을 생성하는 것.
상태와 상태를 변경시키는 관점에서 연산을 설명.
알고리즘을 명시하고 목표는 명시하지 않는다.
프로그램의 상호작용을 객체들의 집합으로 표현.
데이터를 객체로 취급해 내부에 선언된 메서드를 활용
프로그램을 명령어의 연속적인 절차나 순서로 작성하는 방식.
문제를 작은 단위로 분할하고 각각의 단계를 순차적으로 구현.
코드의 가독성이 좋고 실행속도가 빠르다
코드의 유지보수성이 떨어진다.