Observable

data publisher. Observer에게 데이터를 전달하는 주체. 데이터 전달 방식에 따라 Cold ObservableHot Observable로 나뉜다. Cold Observablesubscribe이 발생하는 시점에 데이터를 발행하며 Cold Observablesubscribe하는 Observersubscribe한 시점에 관계 없이 같은 데이터를 받는다. Hot Observablesubscribe이 발생하지 않아도 데이터를 발행한다. Cold Observable과 달리 Hot Observablesubscribe하는 Observersubscribe 시점에 따라 다른 데이터를 받을 수 있다.

Observer

data consumer. 3개의 함수로 정의되는 단순한 객체. 객체를 정의하는 함수는 next, error, complete 이다. nextObservable이 데이터를 발행할 때 호출한다. errorObservable에서 오류가 발생했을 때 호출된다. completeObservable이 완료되면 호출된다.

Subscriber

처음에는 Observer == Subscriber 라고 생각했다. Observer를 이용해서 Observablesubscribe하는 객체 정도로 이해하면 될 것같다.

Operator

Observable에서 발행하는 데이터 스트림을 생성/변형/필터링/조합등을 하기 위한 사용하는 rx에 정의된 연산자를 말한다.

Higher-Order Observable/Operator

Observable에서 발행하는 데이터가 값이 아닌 다른 Observable인 경우 Observable을 발행하는 ObservableHigher-Order Observable이라고 한다. 마찬가지로 연산의 결과가 ObservableOperatorHigher-Order Operator라고 한다. 대표적은 Higher-Order OperatorconscatMap, mergeMap, switchMap등이 있다.