반응형
이번 포스팅에서는 API에 대해 공부하고 정리해보았습니다.
개발자에게 CS는 기초가 되는 만큼 앞으로 공부하는데 중요한 부분이라 생각하여 정리하게 되었습니다.
API란?
- Application Programming Interface
- 서로 다른 소프트웨어 간의 상호작용을 가능하게 하는 규약 or 프로토콜
다시 말하면
특정 어플리케이션에서 다른 어플리케이션으로 정보를 전달하거나
서로 다른 어플리케이션 간에 정보 교환이 가능하게 해주는 규정된 인터페이스이다.
내가 이해한 API
어플리케이션 간에 통신할때 필요한 체계이자 구조이다.
응답과 요청을 사용해서 통신을 하기 위한 약속들을 정하는 것이라 생각한다.
API가 존재 가능한 형태
- API의 형태는 다양하다!
라이브러리 / 프레임워크 API
- 프로그래밍 언어의 라이브러리 or 프레임워크에서 제공하는 API이다.
- 특정 기능을 사용하기 위해 함수나 메소드를 제공한다.
- ex) 자바의 Spring Framework에서 제공하는 여러 메소드
웹 API (= REST API, SOAP API)
- HTTP 프로토콜을 이용하여 서버와 클라이언트 사이에서 데이터를 주고 받는다.
- 주로 JSON or XML 형태로 데이터를 교환한다.
운영체제 API
- 운영체제에서 제공하는 API
- 운영체제의 기능을 사용 가능하게 한다.
- ex) 파일 시스템 접근, 네트워크 통신, 프로세스 관리 ...
API의 핵심적인 장점
- 왜 API를 사용하는가에 대한 대답들이기도 하다.
모듈성
- API를 통해 제공하는 기능 변경 or 업그레이드해도 변경에 영향이 없다.
WHY?
API를 사용하는 어플리케이션은 해당 API의 인터페이스만 알면 되기 때문이다.
내가 이해한 모듈성
API는 중간 다리 역할이기 때문이다.
그리고 API는 어디까지나 통신을 도와주는 매개체이기 때문에 영향이 없다고 생각한다.
재사용성
- 한 번 작성된 API는 여러 어플리케이션에서 재사용이 가능하다.
내가 이해한 재사용성
재사용이 가능하다는 뜻은 곧 효율성이 좋다는 뜻이다.
업데이트가 될 때마다 수정을 하지 않아도 된다는 뜻은 부담을 줄여준다고 생각한다.
보안
- API를 통해 제공하는 기능만 외부에 공개된다.
- 내부 로직은 숨겨져있다.
내가 이해한 보안
반대로 한 번 노출이 된다면 그만큼 취약한 방법이라고 생각한다.
다음 포스팅에서는 개발자의 두 영역인 프론트엔드 (Front-End)와 백엔드 (Back-End)에 대해 포스팅 해보겠습니다.
반응형
'CS' 카테고리의 다른 글
라이브러리와 프레임워크의 차이 (0) | 2023.07.26 |
---|---|
프론트엔드 (Front-End) / 백엔드 (Back-End) (0) | 2023.07.23 |