So, an Application Programming Interface is a way for two or more computer programs to communicate with each other.
An application programming interface (API) is a way for two or more computer programs to communicate with each other. It is a type of software interface, offering a service to other pieces of software.1 A document or standard that describes how to build or use such a connection or interface is called an API specification. A computer system that meets this standard is said to implement or expose an API. The term API may refer either to the specification or to the implementation.
Then I found that there is a thing called Inter Process Communication:
In computer science, inter-process communication or interprocess communication (IPC) refers specifically to the mechanisms an operating system provides to allow the processes to manage shared data. Typically, applications can use IPC, categorized as clients and servers, where the client requests data and the server responds to client requests.1 Many applications are both clients and servers, as commonly seen in distributed computing.
Now if we have two applications within the same computer that are communicating with each other, is the communication "though an API" or "through an IPC"?
Or is it that IPC is the physical implementation of API?