Dev-Tino 2주차:: 인터페이스-API
인터페이스에 대해 이야기를 나누던 도중 API에 대한 이야기가 나왔다. 인터페이스에 대해 찾아보다보면 API에 대해 알 수밖에 없다고 말이다. 그 정도로 그 둘은 밀접한 관련이 있다는 말을 들었으나, 나는 API와 인터페이스랄 것이 별개의 것이라고 여기고 살았던지라 그에 대한 이야기와 그 중요성을 그냥 보고도 넘겼던 것 같다. 이 장에서는 그렇게 전 주에 알아보지 못한 API, API와 인터페이스의 연관점에 대하여 이야기한다.
API란?
API란 application programming interface의 약자로 컴퓨터와 컴퓨터 프로그램 사이의 연결이라고 설명할 수 있다. 일종의 소프트웨어 인터페이스인 이것은 다른 소프트웨어에 서비스를 제공한다. (위키피디아)
이 API는 사용자 인터페이스(User Interface)의 일부라 볼 수 있다. 일반적으로 우리가 알고 있는 사용자 인터페이스(User Interface)는 해당 기능을 단순히 이용하는 최종 사용자를 위해 설계된다. 심리학과 생리학에 기방하여 사용자가 필요로 하는 요소를 쉽게 찾고 이해할 수 있도록 함에 초점을 맞춘다. 그러나 API는 최종 사용자를 대상으로 한 인터페이스가 아니다. 중간 사용자- 개발자를 대상으로 한 인터페이스인 것이다.
그렇기에 API는 함수와 프로토콜, 도구의 집합 형태로 제공된다. API 역시 인터페이스이므로 이를 사용하는 중간 사용자-개발자는 함수와 프로토콜, 도구를 구현할 필요가 없다. 이미 누군가가 구현한 API 속 함수를 사용하기만 하면 된다. 다양한 프로그래밍 언어와 프로그램들이 API(application programming interface)를 제공한다.
내가 가장 최근에 접한 API는 구글의 API이다. 구글은 각 앱, 웹 개발자에게 다양한 API 라이브러리를 제공하여 활용할 수 있게 지원한다. 나는 그 중 구글의 지도 API를 사용하였었다. 이 API를 받아옴으로써, 나는 구글의 지도를 가져오고, 그 위에 미리 정리해둔 데이터에 따라 토큰을 둘 수 있었으며 구글에서 지원하는 특정 장소의 정보를 받아올 수도 있었다. 얼마나 많은 사람이 이 지도의 API를 이용해 활동했는지 사이트로 가볍게 확인하고 몇 줄만으로도 수정할 수 있었다. API가 없었다면 절대로 할 수 없었을테다.
이런 API를 사용하는 법은-어떤 언어로 무엇을 개발하느냐에 따라 조금씩은 다르겠다만- 간단하다. 파일의 서두에 API를 추가하겠다고 밝히면 된다.
다음은 C언어에 내장된 여러가지 API중 언어 문자 관련 API를 사용하는 예이다.
이렇게 선언하면 우리가 char 타입의 c를 변경하지 않아도 자동적으로 lower Case와 upper Case로 변환해준다.
이와 같이 우리의 개발을 돕는 API의 종류는 다양하므로, 다루는 프로그램과 호환되는 API를 이것저것 찾아보는 것을 추천한다.
[참고 자료]
-https://ko.wikipedia.org/wiki/API
-https://yozm.wishket.com/magazine/detail/727/
-https://cmos00.tistory.com/1975
- 카테고리
- #기타
댓글 0
추천 포스트