고통은 사라지고 결과는 남는다. Records of Chansolve

라이브러리(Library) 본문

Computer Science

라이브러리(Library)

엄청큰노란닭 2023. 2. 16. 15:06

라이브러리(Library)

  • 주로 소프트웨어를 개발할 때 컴퓨터 프로그램이 사용하는 비휘발성 자원의 모임

  • 구성 데이터, 문서, 도움말 자료, 메세지, 틀, 미리 작성된 코드, 서브루틴(함수), 클래스, 값, 자료형 사양을 포함 할 수 있다.

  • OS/360 및 이후 세대에서는 파티션 데이터 세트로 부름

  • 구체적으로 소프트웨어 개발 시 사용되는 프로그램의 구성요소로, 공통으로 사용될 수 있는 특정한 기능을 모듈화한 것

  • 대상 환경(플랫폼)에서 바로 실행될 수 있는 형태로 제공되며, 실제 실행되어 기능을 수행하는 단편화된 프로그램이라는 점이 API와 다름

  • 프로그래밍 언어에서 라이브러리를 사용할 수 있도록 소스코드 수준에서 인터페이스를 노출시킨 것이 바로 Application Programming Interface(API)이다. 따라서 라이브러리는 동작하는 완전한 프로그램이 아닌, 특정한 부분 기능만을 수행하도록 제작된, 컴파일되어 기계어의 형태로 존재하는 프로그램이다.

  • 이 자체로는 사용자가 직접 일반적인 조작으로 실행할 수 없으며, 해당 라이브러리의 기능을 직접 호출하는 프로그램을 실행하거나, 사용자가 해당 라이브러리의 기능을 실행하는 API를 사용하는 프로그램을 직접 개발하면 실행할 수 있다.

표준 라이브러리

  • 특정한 언어의 개발 환경에 기본적으로 포함된 것들을 대부분 표준 라이브러리라고 불린다.
  • 기본적인 기능 수행과 더불어 디버깅, 성능측정 등을 위한 별도의 API가 존재한다

런타임 라이브러리

  • 프로그램이 실제 환경에서 실행되기 위해 필요한 모듈들이다.
  • 대부분의 위의 표준 라이브러리에서 기능 수행에 필요한 것들만 제공되거나, 스크립트 실행기 등을 말한다.

기타

  • 많은 회사나 개인, 단체들이 돈을 받고 팔거나, 또는 자신이 사용하기 위해, 또는 순수한 잉여력으로 많은 라이브러리들을 개발하고 배포하고 있으므로 현명한 개발자라면 이것들을 잘 활용하여 개발에 필요한 시간과 노력을 절약하도록 하자
  • Windows에서 자주 볼 수 있는 런타임 라이브러리의 확장자는 보통 .dll 이다. Java의 경우 .Jar 형태로 배포되는 경우도 있다.

'Computer Science' 카테고리의 다른 글

[SQLD] 식별자  (0) 2023.03.03
이진 트리 순회  (0) 2023.03.03
맵핑(Mapping)  (0) 2023.02.24
추상클래스와 인터페이스 (Java)  (0) 2023.02.16
객체 지향 프로그래밍(Object Oriented Programming)  (0) 2023.02.16
Comments