지금까지 Observable을 살펴보면서 다양한 용어를 새롭게 배웠다.
처음 공부하기 때문에 좀 헷갈려서 간단한 기준으로 분류하려고한다.
크게 데이터를 발행하는 쪽과 데이터를 수신하는 쪽으로 나눌 수 있다.
데이터 발행자(data source) | 데이터 수신자 |
Observable | 구독자(Subscriber) |
Single | 옵서버(Observer) |
Maybe | 소비자(Consumer) |
Subject | |
Completable |
데이터 발행자는 클래스의 개념이기에 명확하게 구분된다.
하지만, 데이터 수신자는 몇 가지 용어를 번갈아 가면서 사용하므로 개념이 명확히 구분이 되지 않는다.
1. 구독자
- RxJava에서 Observable을 연결할 때는 subscribe() 함수를 호출한다.
이 과정이 구독이므로 구독자가 된다.
2. 옵서버
- RxJava는 옵서버 패턴을 구현한다.
따라서 데이터 발신자는 Observable이 되고 데이터 수신자를 옵서버라고 할 수 있다.
3. 소비자
- RxJava 1.x에서는 subscribe() 함수를 호출할 때 Subscriber 클래스를 인자로 넘겼지만
RxJava 2.x에서는 모두 함수형 인터페이스인 Consumer를 인자로 넘긴다.
간단하게 생각하면 어떤 용어든지 같은 의미로 사용된다.
즉, 데이터 수신자를 크게 의식하지 않고 분류하지 않아도 될거 같다.
'프로그래밍 > RxJava' 카테고리의 다른 글
[RxJava] ConnectableObservable 클래스 (0) | 2020.02.25 |
---|---|
[RxJava] Subject 클래스 - ReplaySubject 클래스 (0) | 2020.02.25 |
[RxJava] Subject 클래스 - PublishSubject 클래스 (0) | 2020.02.25 |
[RxJava] Subject 클래스 - BehaviorSubject 클래스 (0) | 2020.02.25 |
[RxJava] Subject 클래스 - AsyncSubject 클래스 (0) | 2020.02.20 |