속성 지향 프로그래밍

속성 지향 프로그래밍 (Attribute-oriented programming, @OP)은 프로그램 코드 내에 속성이라는 메타데이터를 포함하는 기술이다.

 다양한 언어에서의 속성 지향 프로그래밍 
 자바 
Metadata Facility for Java(JSR-175)가 J2SE 5.0 릴리스에 포함되면서 속성 지향 프로그래밍을 바로 사용할 수 있게 되었다.
XDoclet 라이브러리를 사용하면 이전 버전의 자바에서도 속성 지향 프로그래밍 접근 방식을 사용할 수 있다.

 C# 
C# 언어는 첫 릴리스부터 속성을 지원했다. 이러한 속성은 런타임 정보를 제공하는 데 사용되었으며 전처리기에서는 사용되지 않았다. 현재 소스 생성기를 사용하면 컴파일 시 추가 코드 생성을 주도하는 데 속성을 사용할 수 있다.

 UML 
통합 모델링 언어 (UML)는 스테레오타입이라는 속성을 지원한다.

 핵 
핵 프로그래밍 언어는 속성을 지원한다. 속성은 다양한 프로그램 엔티티에 첨부될 수 있으며, 해당 속성에 대한 정보는 리플렉션을 통해 런타임에 검색할 수 있다.

 도구 
 어노테이션 처리 도구 (apt)
 스푼, 어노테이션 기반 자바 프로그램 변환기
 XDoclet, 자바독 기반 프로그램 생성기

 각주 





 외부 링크 
 Don Schwarz. Peeking Inside the Box: Attribute-Oriented Programming with Java5
 Sun JSR 175
 Attributes and Reflection - sample chapter from Programming C# book
 Modeling Turnpike Project
 Fraclet : An annotation-based programming model for the Fractal component model
 Attribute Enabled Software Development book

분류:프로그래밍 패러다임