¿Por qué un método estático se considera un método?

Estoy escribiendo una explicación de algún código para un curso, y he estado usando accidentalmente las palabrasmethod yfunction indistintamente. Decidí volver y arreglar la redacción, pero me encontré con un agujero.

Por lo que entiendo, una subrutina es unfunction si no actúa en una instancia de una clase (su efecto está restringido a su entrada / salida explícita), y es unmethod si opera en una instancia de una clase (puede llevar a cabo efectos secundarios en la instancia que lo hacen impuro).

Hay unabuena discusión aquí en el tema. Tenga en cuenta que según las definiciones de las respuestas aceptadas, un estáticomethod en realidad debería ser una función porque una instancia nunca se pasa implícitamente y no tiene acceso a los miembros de ninguna instancia.

Sin embargo, teniendo esto en cuenta, no debería ser estáticomethods en realidad ser funciones?

Por su definición, no actúan en instancias particulares de una clase; solo están "atados" a la clase debido a su relación. Sin embargo, he visto algunos sitios atractivos que se refieren a las subrutinas estáticas como "métodos" (Oráculo, Fredosaurus, Programación Simplificada), o bien todos pasan por alto la terminología o me falta algo (supongo que es lo último).

Me gustaría asegurarme de que estoy usando la redacción correcta.
¿Alguien puede aclarar esto?

Respuestas a la pregunta(9)

Su respuesta a la pregunta