Function Signature
A function signature is a string that defines the name of a function and the types of its parameters. For example, transfer(address,uint256) is a function signature.
The Ethereum Virtual Machine uses the function signature to calculate the function selector, which is then used for routing calls. Maintaining the correct signature is critical for successful contract interaction, as even a minor change in parameter types will result in a different selector.
It serves as the interface definition for all contract communication.