Helpful abstractions are used to gain control over complexity.
Without such helpful abstractions, the first 5 lines of your first class are easier to write. But in the real world, anything that is of value will grow over time. Users want additional features, bugs occur and need to be fixed, and so on.
And when you aren't prepared for the next 500 lines of code, in the next classes, then that code will quickly turn into a maintenance nightmare.
In other words: the real world is too complicated to be fully represented in code. Thus you have to anticipate the essential "patterns" that matter in your application, and find ways to express them in more concise way.
In your example, yeah, there is only one class that implements that interface. But what if you had 50 classes, or 100? Then your client code would have to know that Human, Cat, Dog, Snake, ... all these classes have a move()
method. Is that really simpler than being able to check "does the class implement the interface Moveable
?!