API 란
영어로 풀어쓰면 Application Programing Interface 라고 한다.
여러가지 예시를 보면서 고민해봤지만 한마디로
"다른 사람이 쓸 수 있도록 준비해 놓은것"
이라고 정의 할 수 있다.
우리가 핸드폰을 사용하듯 내부에서 어떤 원리로 동작하는지는 사용자 입장에선 그다지 중요하지 않다.
그저 사용 설명서를 읽고 알맞은 입력값을 넣어 사용할 수 있으면 그만이다.
그래서 사용 설명서인 API 명세서를 잘 작성해야하며,
플로우차트, 유스 케이스, 액티비티 다이어그램도 같이 있다면 사용법을 힉히기 훨씬 쉬울것이다.
+ 조금 더 깊게
Application Programing Interface (API) 의 의미
처음 봤을때 API의 영어 뜻이 이해가 안됐지만 공부할수록 잘 지은 이름이란걸 느끼고 있다.
해석해보면 애플리케이션에서 쓰는 프로그래밍 인터페이스라고 할 수 있는데, 전엔 잘 몰랐지만 이게 생각보다 명확한 의미였다.
스프링에서 쓰는 대표적인 API 의 예시는 JDBC, JPA 이다.
- JDBC
- JPA
인터페이스란 프로그램의 틀을 정해놓은 상호간의 약속 이다.
위의 예시들은 애플리케이션 로직이 구현체를 의존하는게 아닌 추상화된 인터페이스를 의존함으로써
JDBC의 구현체로 MySQL DB을 쓰든 Oracle DB를 쓰든 약속 된 JDBC 표준 인터페이스의 틀만 맞춘다면 DB 연결이 가능하다.
또한 JPA의 구현체를 하이버네이트를 쓰든 이클립스링크를 쓰든 틀만 맞춘다면 JPA를 사용한 ORM 기술을 사용할 수 있다.
결론
API 란 상호간의 약속(입력값, 출력값, 데이터 형식 등)대로 동작하는 프로그램이다.
참고 자료)
스프링 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 |