함수/객체 재사용, 컴포넌트 재사용, 어플리케이션 재사용, …| 유형 | 설명 | 
|---|---|
| 함수/객체 재사용 | class,function단위로 구현한 코드를 재사용하는 것 | 
| Component 재사용 | Component단위로 재사용컴포넌트의 인터페이스를 통해 통신한다. | 
| Application 재사용 | 공통 기능을 제공하는 Application과 기능을 공유하여 재사용 | 
| 기법 | 설명 | 
|---|---|
| OOP | 객체 단위로 재사용이 이뤄지도록 설계 구조화된 프로그래밍 구현이 가능하다. | 
| Generic Programming | 하나의 값이 여러 타입을 가질 수 있다. 재사용성을 높일 수 있는 개발 방식 | 
| 자동 Programming | 사용자가 설정 변수에 근거한 프로그램 생성 | 
| Meta Programming | Runtime에 수행해야 할 작업의 일부를Compile Time동안 수행하는 프로그램 | 
Runtime
- 컴파일 과정을 마친 프로그램은 실행이 되는데
  이때 이러한 프로그램이 동작되어지는 시점을 Runtime이라고 한다.
Compile Time
- 우리가 작성한 소스코드를 컴파일러라 기계어로 변환
- 실행 가능한 프로그램으로 변환되는 과정을 Compile Time이라고 한다.
Library, Framework, SW ArchitectureLibrary모듈화한 기법표준 라이브러리, 런타임 라이브러리로 나뉜다.
표준 라이브러리
    Runtime 라이브러리
    Frameworkclass + Library인 형태로 제공된다.Library가 개발자가 필요한 기능을 모아 놓은 도서관에 가깝다면 Framework는 기본적인 기능은 완성된 상태에서 Library, 없다면 Framework라고 보면 된다.