12장. 컴포넌트 Introduction 컴포넌트는 배포 단위 컴포넌트는 시스템의 구성 요소로 배포할 수 있는 가장 작은 단위 자바의 경우 jar 파일이 컴포넌트 컴파일형 언어에서 컴포넌트는 바이너리 파일의 결합체 모든 언어에서 컴포넌트는 배포할 수 있는 단위 입자 여러 컴포넌트를 서로 링크하여 실행 가능한 단일 파일로 생성 가능 컴포넌트가 마지막에 어떤 형태로 배포되든, 잘 설계된 컴포넌트라면 반드시 독립적으로 배포 가능한, 따라서 독립적으로 개발 가능한 능력을 갖춰야 한다. 컴포넌트의 간략한 역사 과거의 유구한 역사… 재배치성 과거의 애플리케이션과 함수 라이브러리 공간에 대한 제약 사항은 지속 가능하지 않았고, 이를 위한 해결책은 “재배치 가능한 라이브러리 relocatable binary” 였다. 그리고 이를 구현하기 위해 지능적인 로더를 사용했는데, 이렇게 “링킹 로더 linking loader”가 탄생 링커 링킹 로더로 어느 정도 해결했지만, 프로그램은 점차 커졌고, 결국 로드와 링크가 두 단계로 분리됨 하지만 문제 상황은 계속 반복됨 이 문제 상황은 하드웨어 개선을 통해 해결됨 결국 컴포넌트 플러그인 아키텍처가 탄생 결론 런타임에 플러그인 형태로 결합할 수 있는 동적 링크 파일이 이 책에서 말하는 소프트웨어 컴포넌트에 해당 이제는 컴포넌트 플러그인 아키텍처를 기본으로 쉽게 사용할 수 있는 지점까지 다다랐다.