What is the advantage of "companion object" vs static keyword

private package-level functions are private to their file AFAIK. So there’s no problem if you’re using file per class or file per set of related classes, you can use the same function name with different classes in different files in the same package.