확실히 어떻게 동작해야하는 코드가 있으면 예외를 활용해서 제약을 걸어주는게 좋을때가 있다. 코틀린에는 대표적으로 1. require : 아규먼트와 관련된 예측을 정의할때 상용하는 방법 숫자를 아규먼트로 받아서 팩토리얼을 계산하면 양의 정수만 받아야할때 좌표를 아규먼트로 받아서 클러스터를 찾을 때 비엉 있지 않은 좌표 목록을 사용할때 사용자로부터 이메일 주소를 입력받을 때 값이 입력됐는지, 이메일 형식이 바른지 확인할때 2. check : 상태와 관련된 예측을 정의할때 사용하는 방법 어떤 객체가 미리 초기화되어 있으어만 처리가 되게 하고 싶은 함수에 사용 사용자가 로그인 했을 때만 처리를 하게 하고 싶은 함수에 사용 객체를 사용할 수 있는 시점에 사용하고 싶은 함수인지 체크할때 사용 일반적으로 requir..