The target pin you’re seeing is in essence the this pointer.
So in C++ terms when you call a function on an instance of an object you can do GetOwner() (which implies this->GetOwner()) or MyActor->GetOwner(). And once you’re inside that function this is implicitly the context of the function. The same is roughly true in blueprints. The target pin is the context of the function. By default, as in your picture, you see it defaults to self (which is the same as this in C++) thus your GetOwner() or this->GetOwner(), but you can also wire in a context to get your MyActor->GetOwner().
So, to answer your question, the target pin is going to be automatically created for you when you define a function inside a class. However, if you’re using the static functions in a blueprint function library, then you need to provide the context yourself. So your function implementation (if you were trying to imitate the GetOwner() case but declared outside of AActor()) would be (roughly)
UFUNCTION(BlueprintPure, Category=“Actor”, meta=(DefaultToSelf=Target))
AActor* GetOwner(AActor* Target);