이펙티브 코루틴을 요약한 내용입니다 함수가 null을 리턴한다는 것은 함수에 다라 여러 의미를 가질 수 있음 String.toIntOrNull()은 String을 Int로 적절하게 변환할 수 없는 경우 null 리턴 Iterable.firstOrNull(() → Boolean) 은 주어진 조건에 맞는 요소가 없을 경우 null 리턴 null은 최대한 명확한 의미를 갖는 것이 좋음 val printer: Printer? = getPrinter() printer.print() // 오류 printer?.print() // 안전한 호출 if (printer != null) printer.print() // 스마트 캐스팅 printer!!.print() // not-null assertion nullable 타..