PHP comes with so called "magic methods".
All Magento models utilize them, and in your case - __call
As you can see in source: vendor/magento/framework/DataObject.php
public function __call($method, $args)
{
switch (substr($method, 0, 3)) {
case 'get':
$key = $this->_underscore(substr($method, 3));
$index = isset($args[0]) ? $args[0] : null;
return $this->getData($key, $index);
case 'set':
$key = $this->_underscore(substr($method, 3));
$value = isset($args[0]) ? $args[0] : null;
return $this->setData($key, $value);
case 'uns':
$key = $this->_underscore(substr($method, 3));
return $this->unsetData($key);
case 'has':
$key = $this->_underscore(substr($method, 3));
return isset($this->_data[$key]);
}
throw new \Magento\Framework\Exception\LocalizedException(
new \Magento\Framework\Phrase('Invalid method %1::%2', [get_class($this), $method])
);
}
Any class that extends DataObject class has defined __call method for setters and getters, therefore methods mentioned by you are not explicitly defined in classes but utilize this logic.
Some of them (I do not know if most of them or just a few) are usually described in class docblock however some are not.
Personally I do not like all that "magic" because it leads to questions like your.