흔히 DLL이라고 줄여부르는 이 동적 연결 라이브러리에 대해 알기 위해서는 먼저 정적 라이브러리에 대해 알아야 한다.
이 정적 라이브러리는 여러 프로그램에서 동시에 사용할 수 있는 코드와 데이터를 모아둔 일종의 서랍이라고 볼 수 있다. 정적으로 라이브러리를 만들어주면 컴파일 시 프로그램에 직접 링크되어 실행 파일의 일부가 되므로, 실행 파일이 독립적으로 동작할 수 있게 만들어준다.
그러나 정적 라이브러리는 각 프로그램에 라이브러리 코드가 포함되기 때문에, 실행 파일의 크기가 커지고, 여러 프로그램이 동일한 라이브러리를 사용할 경우 메모리에 중복된 코드가 존재하여 메모리 낭비 등의 문제점이 있다.
동적 연결 라이브러리(이하 DLL)는 프로그램이 실행되는 동안 필요한 라이브러리를 메모리에 로드하고 사용할 수 있게 해주는 기능을 제공한다.
말 그대로 '동적'으로 작동하기 때문에 메모리가 절약되고, 실시간으로 DLL파일만 교체하면 갱신되기 때문에 프로그램의 모듈화가 가능해져 결과적으로 코드의 유지보수가 용이해지는 것이다.
'Programming > 기타' 카테고리의 다른 글
인터페이스와 추상클래스 (0) | 2024.12.08 |
---|---|
TDD(Test- Driven Development)에 대하여 (1) | 2024.12.06 |
의존성 주입(Dependency Injection) (0) | 2024.12.02 |
리팩토링 (0) | 2024.11.30 |
코드스멜 (0) | 2024.11.30 |