[CS] API , 라이브러리, 프레임워크

말하는 감자·2025년 1월 22일

CS

목록 보기
17/33
post-thumbnail

라이브러리

특정 기능이나 작업 수행을 위한 함수, 클래스, 메서드 등을 포함한 재사용 가능한 코드의 모음

  • 프로그래머가 어떠한 기능을 수행하기 위해 도움을 주는 또는 필요한 것을 제공해주는 역할

  • 라이브러리는 재사용이 필요한 기능으로 반복적인 코드 작성을 없애기 위해 언제든지 필요한 곳에서 호출하여 사용할 수 있도록 Class나 Function으로 만들어진다.

  • 프로그램을 만들 때 기존에 만들어진 함수들을 재활용함으로써, 프로그램의 제작 시간과 노력을 줄일 수 있다.

  • 독립성을 가지고 응용 프로그램이 능동적으로 라이브러리를 사용한다.

API(Application Programming Interface)

정의 및 프로토콜 집합을 사용하여 두 소프트웨어 구성요소가 서로 통신할 수 있게 해주는 매개체

  • 소프트웨어 컴포넌트들이 상호작용하는 방법을 정의한 규약이나 명세

  • 구현이 아닌 제어를 담당

  • 안에 뭐가 들었는지 몰라도 상관x

  • 간단하게, 필요한걸 전달해주는 따까리 역할

프레임워크(Framework)

응용프로그램이나 소프트웨어의 솔루션 개발을 수월하게 하기위해 제공된 소프트웨어 환경

  • 응용프로그램이 수동적으로 프레임워크에 의해 사용된다.(규칙을 지켜가며 사용)

라이브러리 vs 프레임워크

누가 통제하는가?

  • 라이브러리: 개발자(응용 프로그램)
    • 개발자가 필요한 기능이 있다면 라이브러리를 사용하여 개발할 수 있다.
  • 프레임워크: 프레임워크
    • 개발자는 프레임워크에 정해진 규칙을 지켜가며 개발을 해야함

API vs 라이브러리

구현체 vs 매개체

  • API: 매개체
  • 라이브러리: 구현체
    ex. api는 종업원, 라이브러리는 요리사로 비유 가능
    -> 손님(개발자)이 요리(기능)를 종업원(API)에게 주문하면, 종업원은 전달만 하고 실제 요리하는건 요리사(라이브러리)
profile
주니어개발자(?)

0개의 댓글