Defensive/Offensive Programming

모든 가능성을 올바른 방식으로 처리하는 것을 Defensive Programming 이라고 한다. 하지만 모든 상황을 안전하게 처리하기 힘들 수도 있다. 이때 Offensive Programming 방법을 사용한다. Kotlin 의 require, check 등을 활용하여 문제가 발생했을때 개발자에게 알려주는 방식이다.