이펙티브 코루틴을 요약한 내용입니다. 예외를 활용해 제한을 걸어주는 것이 좋음 코틀린에서 코드의 동작에 제한을 걸 때 다음과 같은 방법을 사용할 수 있음 require 블록: 아규먼트를 제한할 수 있음 check 블록: 상태와 관련된 동작을 제한할 수 있음 assert 블록: 어떤 것이 true인지 확인 가능 assert 블록은 테스트 모드에서만 동작 return 또는 throw와 함께 활용하는 Elvis 연산자 사용 예제 제한을 걸면 문서를 읽지 않은 개발자도 문제를 확인할 수 있음 문제가 있을 경우에 함수가 예상하지 못한 동작을 하지 않고 예외를 발생 코드가 어느 정도 자체적으로 검사를 함 스마트 캐스트 기능을 활용할 수 있음 fun pop(num: Int = 1): List { require(num..