실전!! companion object를 사용한 공식문서 리팩터링

class MDCContext(
    val contextMap: MutableMap<String, String> = MDC.getCopyOfContextMap(), key: CoroutineContext.Key<*>
) : ThreadContextElement<MDCContextMap>, AbstractCoroutineContextElement(key) {

key는 단지 AbstractCoroutineContextElement(key)에 넘겨주기 위한 용도로만 필요하지, 이 클래스 내부에서 사용할 필요가 없기 때문에 val을 붙이지 않은 것이다.