Tra una classe e un metodo statico o di istanza, come preferisci. Mettiamola così: le classi come concetto sono identiche sia in Java che in C++, e così pure i metodi, siano essi statici o di istanza; una funzione invece la puoi considerare come un metodo statico non appartenente a nessuna classe.