Is there a any functional difference in Kotlin between those?

```kotlin
class Foo {
   companion object {
      fun newInstance() = Foo()
   }
}

// Create new instance somewhere else
val foo = Foo.newInstance()

```

and

```kotlin
class Foo {
}

// Create new instance somewhere else
val foo = Foo()

```

I think that the first approach is just adding more boilerplate code and taking more memory because of companion object. Am I right?

Note: I am in Android environment and `Foo` is actually an `Fragment` in my case, if it matters.