In general, the Oracle server is the one that holds the database. That is, the Oracle server is to some extent equivalent to an Oracle database. The client is used by users who do not install the server. For example, I don't have an Oracle database, but I want to remotely access someone's Oracle database, and then I need to install the client.
If I already have an Oracle server, accessing my own database obviously does not require a client. Because the Oracle server has all the functionality of the client. But if I want to access someone else's server, I don't need to add a client. The answer is in the negative. Still, the Oracle server has the functionality that the client has. You can access the service side of others through your own service.
That is to say: Oracle Server = Oracle Database + Oracle client.
In addition, for the listener, I passed many tests, the server needs to open the Listener program, the client does not need. Of course, if you use your own server to access the service side of others, your server is used as a client, obviously do not need to open listening. But if you do not open the monitor, it is the equivalent of your server does not start, others can not access your database.