You connect to Oracle through a client, such as sqplplus, or a java program (or tool) that uses a protocol, such as SQL * NET or JDBC (as examples) through a listener. The listener, in turn, starts the process in the target database (or assigns a connection to the existing process if you use shared servers).
source
share