Immutable vs Mutable
- immutable
- 변경 불가능
- 객체가 가지고 있는 값을 변경할 수 없는 객체
- 값이 변경될 경우, 새로운 객체를 생성하고 변경된 값을 주입하여 반환해야 함
- mutable
first-class citizen
- 함수형 프로그래밍 패러다임을 따르고 있는 언어에서의 함수는 일급 객체(First class citizen)로 간주됨
- 변수나 데이터 구조안에 함수를 담을 수 있어서 함수의 파라미터로 전달할 수 있고, 함수의 반환 값으로 사용할 수 있음
- 할당에 사용된 이름과 관계없이 고유한 구별이 가능
- 함수를 리터럴로 바로 정의할 수 있음
Reactive Programming
- 반응형 프로그래밍(Reactive programming) = 선언형 프로그래밍(Declarative programming)
- VS 명령형 프로그래밍(Imperative programming)
- 함수형 프로그래밍 패러다임을 활용하는 것
- 반응형 프로그래밍은 기본적으로 모든 것을 스트림(stream)으로 봄
- 스트림
: 값들의 집합으로 볼 수 있으며 제공되는 함수형 메소드를 통해 데이터를 immutable 하게 관리할 수 있음
- reference