관련 이론 및 문법

(assertion 참고)

http://kkikkodev.tistory.com/108


문제 의도

다음 중 참인 보기를 고르는 문제입니다.


답안

G


풀이 방법

assertion 사용에 대한 문제입니다. 먼저 assertion 은 public method 의 parameter 사전 조건 체크시에는 사용하면 안 되므로, 12 라인은 잘못 사용한 것입니다. 18 라인의 assertion 은 private method 의 parameter 사전 조건 체크시에 사용되었으므로 문제가 되지 않습니다. 마지막으로 15 라인의 switch case 구문에서 default 레이블에서의 assert false 문장은 올바르게 사용된 문장입니다. 이는 default 구문에 도달하게 되면 AssertionError 를 명시적으로 발생시키겠다는 의미로 보통 switch case 문에서 사용되는 형태의 문장입니다. 물론 14 라인의 case 2: 에서 break; 문이 있었다면 더할 나위 없이 좋은 코드였겠지만, 없더라도 default 구문에서 AssertionError 를 발생시키겠다는 의도이기 때문에 올바르게 사용되었다고 볼수 있습니다. 


따라서 15, 18 라인의 assertion 문장이 올바르게 사용되었으므로, G 가 답안이 됩니다.


by kkikkodev 2016. 11. 13. 01:18