클래스의 타입을 정의 할때.
인터페이스를 implement 해서, 해당 클래스가 내가 원하는 operation 의 종류인지 선언 하는 경우가 있다.
물론, 상속 구현으로 상위 부모 객체가 동일하면, 같은 처리를 할 수 있겠지만.
무거운 상속구조 보다는 좀 더 유연한 타입 비교가 아닐까 생각한다.
ex)
webwork 의 interceptor 의 기능 추가 시,
접근 action 이 처리 되어야 할 action 인지 여부를 타입 interface 로 판단 하는 케이스
거기에 추가로,
annotation 으로도 타입을 정의 할 수 있다.
retention 범위를 소스단위로 정의 하고.
별도의 구현이 없는 annotaion 을 정의 하면, interface 와 동일한 방식이 가능하다.
사실, annotation 선언 자체가 interface 와 동일하기 때문에, 당연히 비슷하게 구현 될 수 있는 방식이라 봐야 겠다.
결론,
class 타입 비교 시, interface 와 annotation 을 적절히 이용 하자.
개인적으로는 interface 방식 선호...
반응형
'emotional developer > detect-Java' 카테고리의 다른 글
spring retry 간단 예제. (0) | 2014.04.16 |
---|---|
eclipse reverse engineering plugin (0) | 2014.01.06 |
java.lang.IllegalArgumentException: Illegal group reference (0) | 2011.08.17 |