A step definition is the actual code implementation of the step mentioned inside scenario in feature file. A step definition is mentioned inside step definition file. This code can be written in any Cucumber supported language like Java, Ruby etc.
Consider a step: When I fill in "textbox" with "xyz"
Step Definition in Java
@When("^I fill in \"([^\"]*)\" with:$")
public void i_fill_in_with(String elementName, String messageText)
{
driver.findElement(By.id("message")).sendKeys(messageText);
}