
프로그래밍에서 재사용성이란 이미 작성한 코드나 소프트웨어 컴포넌트를 다른 시스템이나 프로그램에서 사용가능하게 하는 특성을 말한다.
참고) 재사용성을 영어로 Reusability라고 한다.
재사용성을 통해 개발자들이 같은 기능을 나타내는 코드를 반복 작성하지 않아도 됨으로 코드의 중복을 줄이고 개발 시간을 줄일 수 있다. 또한 검증된 코드나 컴포넌트를 재사용하여 버그의 발생을 줄이고 전반적인 프로그램의 안정성을을 높이는 효과도 가지고 있다.
재사용성이 높은 코드를 작성하는 방법에는 대표적으로 OOP(객체 지향 프로그래밍), 모듈화(Modularization), 메서드(함수)의 재사용, DRY 원칙 준수, 주석 작성, 유연한 코드 작성이 있다.
OOP에서는 클래스와 객체(인스턴스)를 사용하며 상속을 통해 어떤 클래스의 속성(클래스 변수, 인스턴스 변수)과 메서드를 통해 코드를 재사용하고 이를 통해 확장을 할 수 있다.
모듈화란 프로그램을 모듈로 분할하는 것을 말한다. 분할한 모듈은 독립적으로 작동되며, 다른 모듈과는 인터페이스를 통해 소통한다. 모듈화는 코드의 복잡성을 낮춰주고 코드 이해와 코드 재사용을 쉽게 하여 독립적인 테스트가 가능하다. 예를 들어, 로그인, 검색, 결제 등의 기능을 모듈로 만들 수 있다.