API란?
API는 애플리케이션 소프트웨어를 빌드하고 통합하기 위한 정의 및 프로토콜 세트인 애플리케이션 프로그래밍 인터페이스(Application Programming Interface)를 뜻한다.
인터페이스(Interface)
인터페이스(interface)는 컴퓨터 시스템끼리 정보를 교한하는 공유 경계를 의미한다, 터치 스크린과 같은 일부 컴퓨터 하드웨어 장치들은 인터페이스를 통해 데이터를 송수신 할 수 있으며, 마우스나 마이크론 폰가 같은 장치들은 오직 시스템에 데이터를 전송만 하는 인터페이스를 제공한다.
인터페이스는 말 그대로 어떤 기계간의 장치끼리 정보를 교환하기 위한 수단이나, 방법을 의미한다.
예를 들어서 우리가 집에서 TV를 켜기 위해서 리모콘을 들고 TV에 리모콘 전원 버튼을 누름으로써 TV가 켜지게된다.
즉, 사전에 TV와 통신을 하기 위해서 리모콘에서는 TV에 정의된 규격에 의해 어떤 신호를 보낼 수 있도록 만들어진 장치이며, 이러한 신호를 서로 주고 받기 위한 방법을 인터페이스라고 하는 것이다!
API는 Application Programing Interface라는 용어로써, 어떠한 응용프로그램에서 데이터를 주고 받기 위한 방법을 의미한다.
어떤 특정 사이트에서 특정 데이터를 공유할 경우 어떠한 방식으로 정보를 요청해야 하는지, 그리고 어떠한 데이터를 제공 받을 수 있을지에 대한 규격들을 API라고 하는것.
API는 사용하는 방법과, 용도에 따라 오픈 API와, 비공개 API 정보가 있다.
오픈 API는 말 그대로 누구나 쉽게 접근하여 정보를 공유하기 위해 만들어진 규격이며, 비공개 API는 권한이 있는 일부 사용자들에게만 정보를 제공하기 위해 만들어진 규격이라고 생각면된다.
API를 제공하는 이유?
그렇다면 API를 제공하는 이유는 무엇일까? 정보를 가지고 있는 입장에서, 남들에게 정보를 제공하기 위해서 별도의 규격을 만들어야하고, 그 규격에 대한 설명 문서도 만들어야한다. 매우 불편함...
하지만 왜 대형 플랫폼들은 수 많은 오픈 API를 제공하고 있을까?
예를들어 페이스북이나, 네이버, 카카오톡과 같은 대형 플랫폼에서는 대부분 간편 로그인 API 정보를 제공하고 있다.
간편 로그인 API의 목적은 사용자가 여러 사이트를 하나식 가입하다보면, 너무 많은 사이트에 가입해야하는 단점이 있으니, 누구나 사용하고 있는 대형 플랫폼의 가입정보를 공유함으로써 간편하게 회원가입을 할 수 있도록 설계된 API이다.
카카오톡 간편 로그인 기능을 통해 여러 사이트를 가입했다고 가정해보자. 그리고 카카오톡이 그런일은 없겠지만.. 너무 쓰기 싫어지고, 탈퇴하고 싶은 마음이 생겼다 하더라도 카카오톡을 탈퇴하는 순간 카카오톡을 통해 가입했던 수 많은 사이트 또한 포기해야되는 상황이 발생하게된다.
즉, 간편 로그인 기능을 제공함으로써 플랫폼 이탈율을 현저히 줄일 수 있기 때문에 대형 플랫폼들은 간편 로그인 기능을 제공하고 있다. 공유 경제 시대가 흐르면서 정보를 독점하는것보다 공유함으로써 더 많은 이익을 가져갈 수 있는 생태계가 만들어지고 있으며, 이러한 과정에서 다양한 오픈 API와, 비공개 API들이 존재하는것이다.
결론
API는 응용 프로그램에서 사용할 수 있도록, 운영 체제 혹은 프로그래밍 언어게 제공하는 인터페이스(규격)을 의미한다.
'스프링 SPRING > [SPRING] 김영한 스프링 입문' 카테고리의 다른 글
[SPRING 입문] 1. 프로젝트 환경 설정 (0) | 2023.01.19 |
---|---|
JSON이란 무엇일까? (0) | 2023.01.17 |
MVC란 무엇일까? | MVC 패턴 (0) | 2023.01.17 |
톰캣이 무엇을 의미할까? 아파치란? (0) | 2023.01.17 |
[인텔리제이] 인텔리제이 단축키 정리 | 외워야하는 단축키 정리 (0) | 2023.01.03 |