Defensive Programming, 말 그대로 방어적으로 프로그래밍하는 설계 방식이다. 사실 해당 설계 방식은 다른 산업군에서 활용하고 있는 Defensive design을 소프트웨어 버전으로 차용해서 가져온 것이다. 여기서 말하는 defesnsive design을 통해 설계된 제품들은 기대하지 않은 이슈 또는 외부 환경으로 부터 장치나 사용자를 보호하기 위해 나름의 '안전장치'를 설계하여 탑재하고 있다. 그러면 해당 디자인을 차용한 Defensive Programming에서의 안전장치는 어떤 것이고 또 해당 안전장치의 설계를 위해 수행하는 방어적 프로그래밍은 어떤 것을 의미하는 것일까? 먼저 방어적 프로그래밍이 뭔지부터 알아보자 방어적 프로그래밍은 함수 또는 메서드의 모든 부분을 유효하지 않은 모..