OOP와 FP 선택 기준
상태가 오래 유지되는 도메인은 객체로, 값 변환이 많은 흐름은 함수형으로 볼 때 단순해지는 경우가 많다.
| 상황 | OOP가 유리 | FP가 유리 | 주의점 |
|---|---|---|---|
| 도메인 모델 | 상태와 규칙이 한 대상에 묶임 | 데이터 변환 파이프라인이 중심 | 한 방식만 강요하지 않음 |
| UI 상태 | 컴포넌트 인스턴스 상태 관리 | 불변 업데이트와 reducer | 숨은 mutation 방지 |
| 비즈니스 규칙 | 객체의 책임으로 표현 | 순수 함수로 검증/계산 분리 | 부작용 위치 문서화 |
| 확장 | 새 객체 타입이 자주 생김 | 새 연산 조합이 자주 생김 | 상속보다 조합 검토 |
| 팀 협업 | 책임 경계가 명확 | 입력/출력 테스트가 쉬움 | 읽기 난이도와 디버깅 비용 확인 |
좋은 설계는 OOP냐 FP냐가 아니라 상태, 부작용, 변환 규칙을 독자가 추적할 수 있게 하는 것이다.