# Java Assertion
# Java Assertion
by jihoon kim
HTML
<h1>Java Assertion</h1>
<script>
function autolink(id) {
var container = document.getElementById(id);
var doc = container.innerHTML;
var regURL = new RegExp("(http|https|ftp|telnet|news|irc)://([-/.a-zA-Z0-9_~#%$?&=:200-377()]+)","gi");
var regEmail = new RegExp("([xA1-xFEa-z0-9_-]+@[xA1-xFEa-z0-9-]+\.[a-z0-9-]+)","gi");
return doc.replace(regURL,"<a href='$1://$2' target='_blank'>$1://$2</a>").replace(regEmail,"<a href='mailto:$1'>$1</a>");
}
window.onload = function () {
var container = document.getElementById("contents");
container.innerHTML = autolink("contents");
}
</script>
<pre id="contents">
자바 1.4의 새기능: Assertion : http://javacan.tistory.com/entry/79
■ Assertion 기본
자바 1.4 버전은 1.3 버전에 보안을 비롯한 다양한 확장 API를 추가하여 그 크기가 방대해졌을 뿐만 아니라 NIO와 로깅 등 새로운 기능을 추가함으로써 완벽한 개발 플랫폼으로 확장되었다.
이러한 새로운 기능들 중에서 자바에서는 전혀 새로운 기능이라고 할 수 있는 게 Assertion 기능이다.
■ Assertion은 무엇인가?
Assertion은 불리언 식(expression)을 포함하고 있는 문장이다.
그 문장이 실행될 경우 불리언 식이 참이라고 단언할 수 있다.
:: 자바 1.4의 새기능이 Assertion 이다.
:: 프로그램에서 가정하고 있는 사실이 올바른 지 검사할 수 있다.
:: 이러한 검사 기능은 예외(Exception)를 사용해서도 구현할 수 있긴 하지만, Assertion은 예외와는 다른 의미의 검사 기능을 제공한다.
<B>:: javac -ea 컴파일 옵션을 지정해야한다.</B>
■ 컴파일 옵션
-ea 또는 -enableassertions : 사용
-da 또는 -disableassertions : 미사용
■ 강제적으로 Assertion 기능을 사용하도록 만드는 방법
강제적으로 Assertion 기능을 사용하도록 유도하는 방법이 필요하다.
static {
boolean assertsEnabled = false;
assert assertsEnabled = true;
if (!assertsEnabled) throw new RuntimeException("Assertion 기능이 사용가능해야 합니다!");
}
위 코드를 main() 메소드가 있는 클래스에 추가하면 Assertion 기능을 사용하도록 유도할 수 있다.
-ea 옵션이 enable되어 있지 않을경우 assert이후의 assertsEnable = true 구문이 실행되지 않으므로,
if (!assertsEnabled) 문장이 실행되어 RuntimeException을 발생시킨다.
■ Assertion의 문법
1. assert 불리언식;
2. assert 뷸라온식:수식;
ex) assert i<0;
assert (!pageNo.equals(""));
assert age > 0 : "나이는 음수가 될 수 없습니다:"+age;
assert ((i/2*23-12)>0):checkValue();
# JavaMain.java
public class JavaMain {
static...