Observer가 Observable이 방출하는 item을 더 이상 받지 않기 위해 구독을 해제하고 싶을 경우 Disposable을 사용
Observable 구독 시에 사용하는 subscribe 메서드의 정의를 보면 반환 타입이 **Disposable**임

Disposable은 dispose() 라는 메서드를 갖는 프로토콜

<aside> 💡 👉 Observer는 Observable을 구독하기 위해 subscribe 메서드를 사용하는데,
👉 이 subscribe 메서드는 구독을 해제할 때 필요한 Disposable 타입의 인스턴스를 반환한다.
👉 subscribe 메서드로부터 반환된 Disposable 타입의 값에 대해 dispose() 메서드를 호출하면 구독을 해제할 수 있다.
</aside>
따라서 이렇게 코드를 작성하면
// 파란색 버튼을 구독할 때 subscribe 메서드가 반환하는 Disposable
let rxDisposable = rxView.rxButton.rx.tap
.subscribe(onNext: {
print("버튼 눌림")
})
// 빨간색 버튼을 구독
rxView.rxDieButton.rx.tap
.subscribe(onNext: {
// 파란색 버튼의 subscribe가 반환하는 Disposable의 dispose() 메서드를 호출하면서 구독 해제
rxDisposable.dispose()
print("버튼 구독 해제!!")
})
빨간색 버튼 클릭 시 파란색 버튼의 구독이 해제되는 것을 볼 수 있다.
