도구나 프레임워크가 특별히 취급해야 하는 프로그램 요소를 구별하기 위해 작명 패턴을 사용했다. 이러한 작명 패턴에는 몇 가지 문제점이 있다.

우선, 철자를 틀리면 알아채기 힘든 문제가 생긴다. 예를 들어 테스트 메서드의 이름을 testSafetyOverride가 아니라 tsetSafetyOverride라고 했다 치자. JUnit은 아무런 불평도 하지 않을 것이다, 테스트를 실행하지도 않을 것이다.

 둘 째, 특정한 프로그램 요소에만 적용되도록 만들 수 없다.

 셋 째, 프로그램 요소에 인자를 전달할 마땅한 방법이 없다는 것이다. 예를 들어 특정 예외가 발생해야 성공으로 판정하는 테스트를 지우너하고 싶다고  해 보자. 해당 테스트에는 예외 자료형이 반드시 인자로 전달되어야 할 것이다. 


 어노테이션은 이러한 문제를 해결한다. 아래의 코드는 예외가 발생하면 실패하도록 하는 테스트 코드이다.



요약

대부분의프로그래머는, 도구 개발에 관심있는 개발자가 아니라면, 어노테이션 자료형을 정의할 필요가 없다. 그렇다 하더라도 모든 프로그래머는 자바 플랫폼이 제공하는 어노테이션 자료형들을 사용하도록 해야 한다. 


+ Recent posts