안녕하세요..
모두 RPC에 관련된 내용이것 같은데.. 모두 호출하는 형태가 다 다른것 같습니다.
왜 각각의 방식이 필요한지.. 그리고 내부 메커니즘은 어떻게 다른지 전반적으로 알고 싶습니다...


1. Intent를 이용하여 다른 Activity를 호출할때 startActivity()를 이용하는데요, 호출 당하는 Activity는 기본적으로 다른 Process에서 동작하는지요? 만약 다른 Process에서 동작한다면 startActivity()내부에서 RPC관련 내용이 포함되어 있을것 같은데 맞나요?? AIDL을 정의하지 않아도 어떻게 다른 Process를 호출할 수 있나요? AIDL이 내부적으로 숨어 있나요?

2. AIDL을 이용하여 Remote Interface를 만들고 이를 노출 시킨 후 이 Interface를 호출하려면 ServiceConnection, bindService()등을 이용해야 하는데요... 왜 AIDL을 써야하는지, 어떤경우에 AIDL을 이용하여 개발해야되는지요..또한 startActivity나 startService()와는 어떤관계인지요..
 
3. Android에서 제공하는 Service를 이용하려면 getSystemService()를 이용해야 하는데요. 왜 이런행태로 호출해야 되는지요?
    왜 startServcie()로 하면 안되는지... 그리고 AIDL과는 어떠한 연관성이 있는지 궁금합니다.

감사합니다.