API
API(Application Programming Interface)는 소프트웨어 간의 상호작용을 가능하게 해주는 인터페이스임.
API는 일반적으로 저수준(Low-Level)과 고수준(High-Level)의 두 가지 유형으로 분류할 수 있음.
이 분류는 API가 제공하는 추상화 수준과 직접적인 제어 수준에 따라 달라짐.
저수준 API (Low-level API)
저수준 API는 시스템 리소스나 하드웨어와 밀접하게 상호작용하는 API임.
1. 세밀한 제어
저수준 API는 개발자에게 하드웨어나 시스템의 매우 구체적이고 세밀한 제어를 가능하게 함.
예를 들어, 메모리 관리, 네트워크 패킷의 송수신과 같은 기능을 직접 제어할 수 있음.
2. 복잡성과 난이도
저수준 API는 일반적으로 사용하기가 더 복잡하고, 이를 사용하기 위해서는 해당 시스템에 대한 깊은 이해가 필요함.
오류 발생 시 디버깅이 더 어렵고, 더 많은 코딩 능력이 요구됨.
3. 성능
저수준 API는 추가적인 추상화 계층이 없기 때문에 더 빠른 성능을 제공할 수 있음.
이는 시간이 중요한 애플리케이션에서 중요한 이점임.
4. 예시
C언어의 표준 라이브러리, POSIX API, Vulkan (그래픽스 API) 등이 저수준 API의 예임.
고수준 API (High-level API)
고수준 API는 개발자가 더 쉽게 접근하고 사용할 수 있도록 더 높은 수준의 추상화를 제공함.
1. 쉬운 사용
고수준 API는 복잡한 세부 사항을 숨기고, 더 쉽게 접근할 수 있는 인터페이스를 제공함.
개발자는 복잡한 내부 메커니즘을 신경 쓰지 않고도 기능을 쉽게 구현할 수 있음.
2. 생산성 향상
고수준 API는 개발 속도를 높여주며, 더 적은 코드로 더 많은 작업을 수행할 수 있게 함.
이는 애플리케이션 개발 시간과 비용을 줄여줌.
3. 포괄적인 기능
고수준 API는 종종 여러 저수준 기능을 포괄하며, 간단한 메소드 호출로 복잡한 작업을 수행할 수 있음.
4. 예시
Python의 TensorFlow 라이브러리, Java의 JDBC, Amazon Web Services의 Boto3 등이 고수준 API의 예임.
정리
선택하는 API의 수준은 개발하는 애플리케이션의 요구사항, 성능 요구 사항, 개발자의 경험 및 선호도에 따라 달라질 수 있음.
저수준 API는 성능 최적화가 필요하고, 하드웨어나 시스템에 대한 세밀한 제어가 요구되는 경우에 적합함.
반면, 고수준 API는 개발 속도와 편의성을 중시하는 애플리케이션 개발에 더 적합함.
'Programming Language > Python' 카테고리의 다른 글
[Python] 너비 우선 탐색 (0) | 2024.06.09 |
---|---|
[Python] 파이썬에서 사용할 수 있는 저수준, 고수준 API (0) | 2024.05.25 |
[Python] google-ads 의 개념과 사용 방법 (0) | 2024.05.25 |
[Python] boto3의 개념과 사용 방법 (0) | 2024.05.25 |
[Python] Numpy Array 특정 행 특정 열만 계산하는 방법 (0) | 2023.07.25 |