In order to understand the difference between a Subject and an Observable, you need to be aware of two distinct concepts
– A data producer
– A data consumer
An observable, by definition, is a data producer. Albeit a special kind that can produce data over time.
A Subject, on the other hand, can act as both — a data producer and a data consumer.
This implies two things.
1. A subject can be subscribed to, just like an observable.
2. A subject can subscribe to other observables.