//PublishSubject 클래스 활용
PublishSubject<String> subject = PublishSubject.create();
subject.subscribe(data -> System.out.println("Subscribe #1 => " + data));
subject.onNext("1");
subject.onNext("3");
subject.subscribe(data -> System.out.println("Subscribe #2 => " + data));
subject.onNext("5");
subject.onComplete();
//결과값
Subscriber #1 => 1
Subscriber #1 => 3
Subscriber #1 => 5
Subscriber #2 => 6
ReplaySubject<String> subject= ReplaySubject.create();
subject.subscribe(data->System.out.println("Subscriber #1 =>"+data ));
subject.onNext("1");
subject.onNext("3");
subject.subscribe(data->System.out.println("Subscriber #2 =>"+data ));
subject.onNext("5");
subject.onComplete();
//결과값
Subscriber #1 => 1
Subscriber #1 => 3
Subscriber #2 => 1
Subscriber #2 => 3
Subscriber #1 => 5
Subscriber #2 => 5
👉🏻첫 번째 구독자는 Observable을 구독한 이후에 발행한 ‘1’과 ‘3’을 전달받고, 두 번째 구독자는 subscribe() 함수를 호출하면 지금까지 발행된 ‘1’과 ‘3’을 바로 전달 받는다.
마지막으로 Subject 클래스가 ‘5’를 발행하면 두 구독자 모두 해당 값을 전달 받는다.