빈 구멍 채우기

[Kotlin] Companion Object의 활용

⭐⭐기록 2021. 3. 29. 17:04

medium.com/google-developer-experts/companion-objects-kotlins-most-unassuming-power-feature-fb5c0451fbd0

 

Companion Objects: Kotlin’s most unassuming power feature

In which I argue the case for Kotlin’s Companion Objects being the Clark Kent of language features, in being deceptively powerful, and how…

medium.com

Companion Object가 단순히 클래스의 정적 멤버 생성하는 것 이상의 활용 방법이 있음을 알려줌.

 

-> Companion Oject 정리

 

 

** 원글의 예제 참고 필수

 

1. API 확장 지점

 

Functional interface에 Compation Object를 선언해서  extension을 구현한다.

 

-> Functional interface 정리

2. 파서/팩토리

 

다른 형식의 마이크로 타입의 생성자를 Compation object 안에 쓸 수 있다. 

 

3. 프로그래밍 모델을 다양화시킴

 

4. Companion object도 추출과 재사용이 가능함

 

superclass/interface에 추가된 확장함수도 자동으로 Companion Obejct에 추가되는 것을 이용.