모든 데이터 흐름을 시간순서로 전달되어지는 스트림으로 처리한다. 스트림이란 시간순서에 의해 전달되어진 값들의 collection이다.
각각의 스트림은 새로 만들어 새로운 스트림이 될수도 있고 여러개의 스트림이 합쳐질수도 있다. 이 스트림으로 연산자를 통해 값을 변환할수있는데
생성연산자, 변환연산자 , 결합연산자, 조건연산자, 수학연산자등을 통해 스트림을 변환할수있다.
이 스트림을 리스닝함으로써 결과값을 얻는것이 subscribe이다.
Observable은 데이터 소스를 의미하며 이런 Observable에서 데이터를 가져오기 위해선 subscribe해야 한다.
subscribe에는 세가지 메서드가 있다.
onNext : 항목이 만들어질때마다 호출된다
onError : 에러가 발생했을때 호출된다.
onComplete : 구독이 완료되면 호출된다.