RxJava: Subject, PublishSubject, BehaviorSubject

Subject


Subject 는 구독하고 있는 관찰자(Oberver) 에게 새로운 값을 전달할 때 사용한다.

class Person {
		//Subject 생성
		var nameSubject$: PublishSubject<String> = PublishSubject.create()
}

val person = Person()

person.nameSubject$.subcribe { name ->
		//name 구독
}

//name 방출
person.nameSubject$.onNext("selfish")
person.nameSubject$.onNext("developer")

PublishSuibject


Untitled

PublishSubject구독 이후에 방출되는 값만을 받는다.

BehaviorSubject