프로그래밍을 하다보면 조건문은 종종 depth가 길어져 복잡도를 높이는 원인이 되곤 합니다. 이러한 문제점을 피하기 위해 Swift 2.0에서 guard가 등장했습니다. guard vs if guard문은 후속 코드들이 실행되기 전에 특정 조건을 만족하는지 확인하는 용도로 사용합니다. else블록에는 이후의 코드 진행을 막는 return, break가 삽입되어야 하고 주로, 실행 흐름을 종료하기 위한 목적으로 주로 사용합니다. 반면에 if문은 조건이 참인 경우에 후속 코드를 실행하지 않는 코드가 삽입되어야 합니다. 옵셔널 바인딩시 차이점 guard, if문과 옵셔널 바인딩할 때의 차이점은 바인딩을 하는 변수와 상수의 scope입니다.