스터디/이펙티브코틀린
아이템 5 - 예외를 활용해 코드에 제한을 걸어라
require : 아규먼트를 제한한다. check : 상태와 관련된 동작을 제한한다. assert : 어떤것이 true인지 확인한다. test 모드에서만 작동한다. return, throw와 함께 활용하는 엘비스(Elvis) 연산자 위 블럭을 이용하면 다양한 장점을 갖게 된다. require과 check 블럭을 통해 문서를 통하지 않고도 어느정도 요구사항을 파악할 수 있고 예상치 못한동작을 방어할 수 있게된다. 그리고 스마트 캐스트 기능을 활용할 수 있게 되면서 타입 변환을 적게 할 수 있다. 아래는 스터디를 하면서 구성원들과 이야기한 내용을 정리한 것이다. require 매개변수로 받은 값이 유효한지 검사하는 용도로 사용하는것이 올바른 것 같다. 예를들어 전달받은 Long이 양수여야만 하는지 검사를 하..