빈 구멍 채우기
[Kotlin] Companion Object의 활용
⭐⭐기록
2021. 3. 29. 17:04
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가 단순히 클래스의 정적 멤버 생성하는 것 이상의 활용 방법이 있음을 알려줌.
** 원글의 예제 참고 필수
1. API 확장 지점
Functional interface에 Compation Object를 선언해서 extension을 구현한다.
2. 파서/팩토리
다른 형식의 마이크로 타입의 생성자를 Compation object 안에 쓸 수 있다.
3. 프로그래밍 모델을 다양화시킴
4. Companion object도 추출과 재사용이 가능함
superclass/interface에 추가된 확장함수도 자동으로 Companion Obejct에 추가되는 것을 이용.