6장 프로그래밍 패러다임

객체 지향과 함수형 사고 비교

JavaScript는 객체 지향과 함수형 스타일을 모두 사용할 수 있어 상태와 동작을 어떻게 나눌지 선택하는 감각이 중요합니다.

01

State

객체 지향은 데이터와 관련 동작을 객체 단위로 묶는 데 강합니다.

02

Behavior

메서드와 캡슐화로 내부 상태 변경 책임을 객체에 둡니다.

03

Transform

함수형 스타일은 입력을 받아 새 값을 만드는 변환 흐름을 선호합니다.

04

Compose

작은 순수 함수를 조합해 예측 가능한 데이터 처리를 만듭니다.

캡슐화

상태 변경 규칙을 객체 안에 모아 사용자가 내부 구조를 몰라도 쓰게 합니다.

상속과 조합

공통 동작 재사용은 상속뿐 아니라 객체 조합으로도 해결할 수 있습니다.

불변성

원본을 직접 바꾸기보다 새 값을 만들면 변화 추적이 쉬워집니다.

고차 함수

map, filter, reduce처럼 함수를 값으로 다뤄 목록 처리를 표현합니다.

개체 모델·변환 파이프라인

상태를 가진 개체 모델이 중요한지, 데이터 변환 파이프라인이 중요한지 봅니다.

객체 지향과 함수형 실수 방지

한 파일 안에서 패러다임을 무작정 섞기보다 책임 기준을 분명히 둡니다.

객체 지향과 함수형 사고 비교

같은 목록 처리 문제를 객체 메서드 방식과 순수 함수 방식으로 비교합니다.