순수함수를 조합하고, 데이터의 불변성을 최대한 보장함으로써 부수효과를 최소화하는 프로그래밍 패러다임이다. 무조건 좋다는 건 아니다. '함수형 사고'라는 책에 이런 말이 써있다고 한다. '객체지향 프로그래밍은 움직이는 부분을 캡슐화하여 코드 이해를 돕고, 함수형 프로그래밍은 움직이는 부분을 최소화하여 코드 이해를 돕는다' 즉, 어느 하나가 우세한 게 아니라 패러다임이 다른 것이다.
Read객체지향 프로그래밍은 문제를 여러 개의 객체 단위로 나눠 작업하는 방식을 말한다. 객체지향 프로그래밍의 5대 개념인 추상화, 캡슐화, 은닉화, 상속, 다형성에 대해 정리해본다.
ReadJava와 같은 클래스 기반 언어에서는 Class를 통해 객체를 생성하는데, JavaScript는 Class가 없어 Function과 prototype을 통해 객체를 만든다. 이 때문에 자바스크립트는 프로토타입 기반 언어라고도 불린다. Function의 기본 property인 prototype과 객체의 기본 property인 __proto__, 그리고 프로토타입 체인에 대해 알아본다.
Read