Service, Broadcast, AIDL 의 차이점이 궁금합니다.

지금 백그라운드쪽을 공부하고 사용해 보고 있는데요.

Service를 쓰나 Broadcast를 쓰나 사용하는 방식에서 약간의 차이만 느껴질 뿐

실제로 사용되어지는 것에서 별 차이를 느낄 수 없더라고요.

가지고 있는 책들이나 여러곳을 찾아봐도 확실히 구분되는 부분을 못찾겠더라고요.

찾아본 책에는 Broadcast에 대한 언급은 별로없고  Service 위주로 설명이 되있기도 하고요.

그리고 AIDL도 Service에서 더 나아간(?) 방법 같은데

OS 수준 어쩌고저쩌고... 이런 설명들은 있지만 확실히 와닿지가 않네요. (언제 무슨 경우에 사용해야 하는건지)

지금 일단 가장 상위기법(? 책에서 제일 뒷부분에 나와있어서^^;)인 AIDL을 적용해나가고는 있는데

아무래도 제대로 알고 써야지 무작정 쓰는건 아닌것 같아서요.

Service, Broadcast, AIDL 의 차이점과 각각의 사용목적( 언제 무얼 사용해야 하는 것인지)이 궁금합니다!