본문 바로가기

Java Assertion

java by 낼스 2019. 7. 12.
# Java Assertion 자바 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은 예외와는 다른 의미의 검사 기능을 제공한다. :: javac -ea 컴파일 옵션을 지정해야한다. #### 컴파일 옵션 -ea 또는 -enableassertions : 사용 -da 또는 -disableassertions : 미사용 #### 강제적으로 Assertion 기능을 사용하도록 만드는 방법 강제적으로 Assertion 기능을 사용하도록 유도하는 방법이 필요하다. ```java 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 ```java public class JavaMain { static { boolean assertsEnabled = false; assert assertsEnabled = true; if (!assertsEnabled) throw new RuntimeException("Assertion 기능이 사용가능해야 합니다!"); } public static void main(String[] args) { assert 1 == 2 ; assert 1 == 2 : "왼쪽의 조건식이 false이면 이 메시지와 함께 AssertionError가 발생합니다."; System.out.println("test"); } } ```

'java' 카테고리의 다른 글

IntelliJ Shortcut  (0) 2019.07.13
Javascript Destructuring assignment( 비구조화 할당 )  (0) 2019.07.12
Junit Test  (0) 2019.07.12
Singletone Design Pattern  (0) 2019.01.30
Adapter Design Pattern  (0) 2019.01.30

댓글