Eine Signatur (oder Methodensignatur) definiert in der Programmierung die formale Schnittstelle einer Funktion oder Prozedur. Sie besteht aus dem Namen der Funktion sowie der Anzahl, Art und Reihenfolge der zuweisungskompatiblen Parameterdatentypen, wobei zwischen Eingangs-, Ausgangs- und Durchgangsparametern unterschieden werden kann. Der Typ des Rückgabewerts gehört bei streng strukturierten Programmiersprachen ebenfalls zur Signatur[1][2], genauso wie die Modifikatoren, die die Regeln für die Sichtbarkeit und die Überschreibbarkeit einer Methode festlegen.[3][4]
Unter Signaturvererbung versteht man in der objektorientierten Programmierung die Übertragung einer in der Oberklasse definierten (und eventuell implementierten) Methode auf die Unterklasse. Statische Methoden mit sich unterscheidender Signatur können nicht überschrieben werden, sondern können bei weniger streng strukturierten Programmiersprachen gegebenenfalls überladen werden.
Auch die Menge der Operatoren eines abstrakten Datentyps wird Signatur genannt.[5]