Companion Object ?

우리가 공부하고 있는 코틀린에는 static이 존재하지 않는다

만약 static과 비슷한 기능을 사용하고 싶다면 객체를 선언할 때 Companion 키워드를 붙이면 된다

class MyClass {
		companion object Factory {
				fun create() : MyClass = MyClass()
}

선언해주면 Java에서 static을 호출했던 것처럼 해당 객체를 사용 가능하다.

이 키워드는 어떤 클래스의 **모든 인스턴스가 공유하는 객체**를 만들고 싶을 때

사용하며 클래스당 한 개만 사용 가능하다.

하나만 안 쓰면 에러 난다

Only one companion object is allowed per class