코드 재사용(Code reuse)

코드 재사용, 혹은 소프트웨어 재사용이란, 새 소프트웨어를 만들기 위해 기존의 소프트웨어 혹은 소프트웨어 지식을 사용하는 것이다.

코드 재사용은 소프트웨어 제품 개발 과정 안에 이미 만들어진 자산을 어떤 형태로 이용함으로써 시간과 자원을 아끼고 불필요한 중복을 줄이는 것을 목표로 한다. 재사용의 핵심 아이디어는 한 때 작성된 프로그램의 부분들은 나중에 작성된 다른 프로그램의 구성에 사용할 수 있거나, 사용해야만 한다는 것이다.

코드 재사용은 재사용할 수 있는 자산의 별도로 유지된 버전의 생성을 의미한다. 코드가 재사용에 가장 흔하게 선택된 자원이긴 하지만, 개발 사이클 동안 생겨난 다른 자산들도 재사용의 기회를 제공할 수 있다: 소프트웨어 컴포넌트, 테스트 모음집, 디자인, 문서 등.

소프트웨어를 보다 쉽게 재사용할 수 있게 만드는 어떤 특성들에는 모듈성, 느슨한 결합, 높은 응집도, 정보 은닉 그리고 관심사의 분리가 있다.

기존의 코드를 사용하려면, 어떤 종류의 인터페이스나 커뮤니케이션 수단과 새로운 코드를 정의해야 한다. 이러한 것에는 "호출"이나 서브루틴, 객체, 클래스의 사용이나, 프로토타입이 있다.

현존하는 프로그램의 이전 버전을 다음 버전의 출발점으로 사용하는 종래의 일반적인 관행은, 또한 코드 재사용의 한 형태이다.

몇 이른바 코드 "재사용"은 단순히 기존의 프로그램의 일부 혹은 모든 코드를 새 프로그램에 복사하는 것을 말한다. 조직은 새 제품에서 이 접근법으로 타임 투 마켓(*Time to market. TTM. 제품이 구상 및 기획 단계에서부터 시장에 나올 때까지 걸리는 시간을 말한다.) 이익을 달성할 수도 있지만, 나중에 복사하여 붙여넣기 프로그래밍으로 발생한 같은 코드 중복 문제를 짊어질 수 있다.

많은 연구자들이 재사용을 더 빠르게, 더 쉽게, 더 체계적이며, 프로그래밍의 일반 과정의 한 부분이 되도록 노력해왔다. 이는 형식화된 재사용의 가장 일반적인 형태인 객체 지향 프로그래밍의 발명 뒤의 주된 목표 중 일부이다.

출처: 영어 위키피디아 Code reuse 항목

Loading Facebook Comments ...

Leave a Comment

No Trackbacks.