IT 분야에서 사용하는 라이브러리 개념에 대해서 이야기해봅시다.
라이브러리 개념에 대한 설명
라이브러리 개념(Library)은 도서관에 책을 모아 놓은 것처럼 부품화된 소프트웨어들을 여러 개 등록하고 프로그램들이 모여 있는 장소를 의미합니다.
데이터베이스 처리나 파일 제어와 같이 공통적인 기능들을 다른 개발자들도 쉽게 사용할 수 있도록 미리 준비해 놓는 개념입니다. 유용한 소프트웨어 부품들이 미리 준비되어 있기 때문에 프로그램을 개발할 때 개발자들은 라이브러리 안에서 사용하고 싶은 프로그램들을 골라서 사용할 수 있게 됩니다.
단, 라이브러리는 단독으로 사용될 수는 없는 개념입니다.
라이브러리를 사용한다는 전제로 프로그램을 만들 때는 라이브러리를 이용하는 프로그램과 라이브러리 사이에 관계 설정은 필요합니다. 이러한 관계 설정을 링크나 임포인트라고 합니다. 관계 설정 전에는 명시적으로 인스톨을 해야 하는 경우도 있습니다.
라이브러리의 경우는 실제 우리가 알고 있는 도서관처럼 제3자가 공통적으로 사용할 수 있도록 많은 프로그램들이 미리 준비되어 있습니다. 특정 소프트웨어에서 빈번하게 자주 사용하는 처리를 라이브러리화 시켜 놓는 형태로 준비되어 있기 때문에 개발자들은 프로그램을 개발할 때 라이브러리를 유용하게 활용할 수 있게 됩니다.
라이브러리 개념에 대한 이해
라이브러리 개념(Library)은 모두가 공통으로 사용할 수 있도록 부품화한 작은 프로그램이나 소프트웨어들을 모아놓은 것을 의미합니다.
라이브러리는 소프트웨어 부품이 모인 도서관과 같은 개념입니다.
라이브러리는 사설 도서관처럼 사용자를 한정시키는 형태로 운영하는 라이브러리 개념도 존재합니다.
라이브러리를 사용하기 위해서는 작성 중인 프로그램에 해당 라이브러리를 접목 시키는 처리는 필요합니다. 물론 직접 개발하는 것보다 접목시켜 처리하는 과정이 훨씬 더 쉽게 편리합니다.
라이브러리는 개발자들이 프로그램 개발을 진행함에 있어서 자주 사용하는 기능들에 대해서 개발자들이 필요와 목적에 맞게 쉽게 활용할 수 있도록 미리 모듈화해서 준비해 놓은 기능들의 집합으로 볼 수 있습니다. 개발자들은 프로그램을 작성하는 과정에서 라이브러리를 활용하여 프로그램을 보다 더 쉽고 효율적으로 작성하고 개발 할 수 있게 됩니다.
라이브러리에는 표준 라이브러리와 외부 라이브러리가 있습니다.
표준 라이브러리의 대표적인 예는 자바(Java) 패키지, C언어 라이브러리, 파이썬(Python) 라이브러리가 있습니다. 표준 라이브러리는 프로그래밍 언어에 라이브러리가 별도로 내장되어 있는 형태입니다. 따라서 표준 라이브러리의 경우 별도 인스톨 과정이 필요 없습니다.
외부 라이브러리의 대표적인 예는 자바스크립트 JQuery나 파이썬의 Numpy가 있습니다. 외부라이브러리는 프로그램 언어에 내장된 형태가 아니며 뛰어난 개발자가 다른 개발자들을 위해서 만들어 놓은 라이브러리 입니다. 따라서 이 경우는 파일을 다운 받고 인스톨하는 과정이 필요합니다.
프로그램을 개발함에 있어서 프로그램 코딩을 처음부터 새롭게 짜는 방법도 있겠지만 이렇게 진행할 경우에는 시간이 많이 걸리고 비효율적입니다. 이에 따라 효율적인 프로그램을 개발할 수 있도록 집단 지성을 활용하는 형태로 복잡한 기능들은 미리 실력 있는 개발자들이 만들어 놓고 라이브러리를 통해 공유하며 이를 통해 다른 개발자들이 만들어 놓은 부품들이 집적 되어 라이브러리에 모이는 형태로 구성합니다.
결국 라이브러리는 개발자들 간 서로 공유하고 도움을 줄 수 있는 구조가 되는 것입니다.
라이브러리는 웹팩(Webpack) 개념과 구분할 필요가 있겠습니다.