API 란

영어로 풀어쓰면 Application Programing Interface 라고 한다.

여러가지 예시를 보면서 고민해봤지만 한마디로

 "다른 사람이 쓸 수 있도록 준비해 놓은것" 

 

이라고 정의 할 수 있다.

 

우리가 핸드폰을 사용하듯 내부에서 어떤 원리로 동작하는지는 사용자 입장에선 그다지 중요하지 않다.

그저 사용 설명서를 읽고 알맞은 입력값을 넣어 사용할 수 있으면 그만이다.

그래서 사용 설명서인 API 명세서를 잘 작성해야하며, 

플로우차트, 유스 케이스, 액티비티 다이어그램도 같이 있다면 사용법을 힉히기 훨씬 쉬울것이다.

 

 

+ 조금 더 깊게

Application Programing Interface (API) 의 의미

처음 봤을때 API의 영어 뜻이 이해가 안됐지만 공부할수록 잘 지은 이름이란걸 느끼고 있다.

해석해보면 애플리케이션에서 쓰는 프로그래밍 인터페이스라고 할 수 있는데, 전엔 잘 몰랐지만 이게 생각보다 명확한 의미였다.

스프링에서 쓰는 대표적인 API 의 예시는 JDBC, JPA 이다.

 

  • JDBC

JDBC 표준 인터페이스

 

  • JPA

JPA

 

인터페이스란 프로그램의 틀을 정해놓은 상호간의 약속 이다.

위의 예시들은 애플리케이션 로직이 구현체를 의존하는게 아닌 추상화된 인터페이스를 의존함으로써 

JDBC의 구현체로 MySQL DB을 쓰든 Oracle DB를 쓰든 약속 된 JDBC 표준 인터페이스의 틀만 맞춘다면 DB 연결이 가능하다.

또한 JPA의 구현체를 하이버네이트를 쓰든 이클립스링크를 쓰든 틀만 맞춘다면 JPA를 사용한 ORM 기술을 사용할 수 있다.

 

결론

API 란 상호간의 약속(입력값, 출력값, 데이터 형식 등)대로 동작하는 프로그램이다.

 

 

 

참고 자료)

김영한 님의 스프링 DB 1편

 

스프링 DB 1편 - 데이터 접근 핵심 원리 - 인프런 | 강의

백엔드 개발에 필요한 DB 데이터 접근 기술을 기초부터 이해하고, 완성할 수 있습니다. 스프링 DB 접근 기술의 원리와 구조를 이해하고, 더 깊이있는 백엔드 개발자로 성장할 수 있습니다., - 강의

www.inflearn.com

 

'네트워크' 카테고리의 다른 글

[네트워크] JWT 란  (2) 2023.10.04
x-www-form-urlencoded와 json  (0) 2023.09.21
[네트워크] HTTP 요청 데이터  (0) 2023.07.25
웹 서버(WS)와 WAS 및 분리 이유  (0) 2023.04.03
[네트워크] REST API 란?  (0) 2023.03.27

+ Recent posts