Why Oracle SQL Developer does not need Oracle client?
SQL Developer is using the so called "thin driver". 

For this the JDBC driver (a file named ojdbc6.jar) implements the complete Oracle network protocol which is usually handled by the Oracle client. It could use the another implementation: the "OCI" (or "thick") driver which would require an Oracle client to be installed. That would be necessary if e.g. Transparent Application Failover in a RAC is required.

This is not something specific to SQL Developer but to any Java application using JDBC to connect to the database.