ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • API vs 라이브러리 vs 프레임워크
    기타 2020. 5. 25. 00:10

    정의?

    1. API(Application Programming Interface)

    API는 인터페이스이다. API에 대해 알기 위해서는 먼저 인터페이스에 대해 알아야 한다.

     

    인터페이스는 만나고 상호작용하는 지점을 의미한다.

    컴퓨터를 사용하고 있는 우리 모두는 이미 인터페이스를 익숙하게 사용하고 있다.

    사용자가 시스템과 상호작용하기 위해 사용하는 인터페이스를 UI(User Interface)라고 한다.

    윈도우 바탕화면에 있는 아이콘을 더블클릭해서 응용 프로그램을 실행시키는 일은 GUI(Graphic User Interface)를 통해 컴퓨터와 상호작용 한 것이다.

     

    소프트웨어가 다른 소프트웨어와 상호작용하기 위해 사용하는 것을 API(Application Programming Interface)라고 한다.

    길 찾기 앱을 개발하고 싶다면 구글 지도 API를 통해 구글이 만들어 둔 기능을 사용할 수 있다.

     

    2. 라이브러리

    라이브러리는 자주 사용될 만한 기능들을 모아놓은 곳이라고 할 수 있다.

    이미 작성된 코드들 그 자체이다.

     

    일반적으로 소스코드를 그대로 공유하기보다는 컴파일된 파일을 공유한다.

    컴파일된 파일을 공유하기 때문에 소스코드의 유출을 방지할 수 있고 사용자의 컴파일 시간도 단축할 수 있다.

     

    3. 프레임워크

    소프트웨어를 개발하기 위한 틀, 뼈대이다.

    상호 협력하는 클래스들의 집합이라고 할 수 있다.

     

    프레임워크를 사용한다는 것은 프레임워크가 제공하는 틀에 맞추어 코드를 작성한다는 것이다.

    개발자는 이미 구축된 클래스들의 협력관계 안에 자신의 코드를 끼워 맞추기만 하면 된다.

     

    그래서 뭐가 다를까?

    1. API vs 라이브러리

    API는 이미 구현되어 있는 기능을 사용하기 위한 인터페이스이고, 라이브러리는 이미 구현되어 있는 코드 그 자체이다.

     

    API를 통해 라이브러리를 사용할 수 있으며, 하나의 API는 여러 개의 라이브러리로 이루어질 수 있다.

    하지만 라이브러리는 그 자체로 API가 될 수 없다.

     

    API를 이용한다는 것이 무조건 라이브러리를 이용한다는 의미는 아니다.

    구글 API, 네이버 API 등 다른 어플리케이션의 기능을 사용하기 위해 사용하는 경우도 많다.

     

    2. 라이브러리 vs 프레임워크

    라이브러리는 이미 구현되어 있는 기능이다.

    프로그래머는 자신의 코드 안에서 라이브러리를 사용해서 코드를 편하게 작성할 수 있다.

    내 코드가 라이브러리를 사용한다고 할 수 있다.

     

    반면 프레임워크는 이미 구현되어 있는 틀이다.

    프로그래머는 구현되어 있는 틀에 자신의 코드를 끼얹어서 소프트웨어를 편하게 개발할 수 있다.

    프레임워크가 내 코드를 사용한다고 할 수 있다. (제어의 역전)

     

    라이브러리와 프레임워크의 차이는 아래 그림으로 정리할 수 있다.

    댓글

Developer blog