CS/기타

API vs Library vs Framework

12.tka 2021. 1. 2. 23:09
728x90

목표

API 개념을 설명할 수 있다.
Library 개념을 설명할 수 있다.
Framework 개념을 설명할 수 있다.
API와 Library 차이점을 이해할 수 있다.
Library와 Framework 차이점을 이해할 수 있다.

API(Application Programming Library)

API는 응용 프로그램에서 운영 체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스입니다. 아래의 그림을 통해 API를 조금 더 쉽게 설명해보겠습니다.

  1. 손님은 웨이터에게 음식을 주문합니다.
  2. 웨이터는 손님이 주문한 음식을 셰프에게 요청합니다.
  3. 셰프는 완성된 요리를 웨이터에게 전달합니다.
  4. 웨이터는 손님에게 음식을 제공합니다.

여기서 웨이터의 역할이 API입니다. 손님은 응용 프로그램, 셰프는 운영 체제 혹은 프로그래밍 언어로 볼 수 있습니다. 즉 API는 일종의 '다리' 역할을 수행합니다. API는 구현과 독립적으로 사양만 정의되어 있으며 API에 따라 접근 권한이 필요할 수 있다는 특징이 있습니다.

Library

Library 단어를 보면 도서관이 가장 먼저 떠오릅니다. 도서관에는 다양한 책들이 모여져 있습니다. Library도 마찬가지입니다. 즉 Library는 응용 프로그램 개발을 위해 필요한 기능을 모아 놓은 소프트웨어라고 생각하면 됩니다. Library는 독립성을 가지며 응용 프로그램이 능동적으로 라이브러리를 사용한다는 특징이 있습니다. 여기서 말하는 '능동적'은 필요할 때 사용한다는 의미입니다.

Framework

Framework는 Frame(뼈대)와 work(일하다)를 합친 단어로 응용 프로그램이나 소프트웨어의 솔루션 개발을 수월하게 하기 위해 제공된 소프트웨어 환경입니다. Framework는 상호 협력하는 클래스와 인터페이스의 집합이며 응용 프로그램이 수동적으로 프레임워크에 의해 사용된다는 특징이 있습니다. 여기서 말하는 '수동적'은 이미 정해진 규칙에 따라 수행한다는 의미입니다.

API vs Library

API와 Library의 차이점은 구현 로직의 유무입니다.

Library vs Framework

Library와 Framework의 차이점은 응용 프로그램의 흐름 주도권을 누가 가지고 있느냐입니다.

 

 

 

 

참고 사이트

moonspam.github.io/What-is-an-API/

 

728x90

'CS > 기타' 카테고리의 다른 글

테스트 코드 작성  (0) 2022.03.25