[JAVA] API 란?

yurinnn·2023년 12월 10일
0

Java/Spring

목록 보기
7/13

API(Application Programming Interface) 응용 프로그램 프로그래밍 인터페이스란?
응용 프로그램에서 사용할 수 있도록, 운영 체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스를 뜻한다.
쉽게 말해 객체의 기능을 사용하는 것, 그리고 그 설명서를 API 라고 한다.

  • JAVA 에서 API 는 어떤 일을 수행 하기 위해 사용하는 도구나 방법(method) 이다.
  • 즉, 자바 시스템을 제어하기 위해서 자바에서 제공하는 명령어들을 의미한다.
  • Java SE(JDK)를 설치하면 자바 시스템(자바 플랫폼)을 제어하기 위한 API를 제공한다.
    (eclipse 에서 확인이 가능한 사용법을 포함하고 있다.)

📍 자바 어플리케이션 & 자바 플랫폼 :

  • 자바 어플리케이션은 자바 플랫폼을 사용하는 일종의 사용자인데, 일반 사용자와는 다르게 자바에서 제공하는 명령어를 통해서 그 시스템을 사용하는 사용자이다.
  • 자바 어플리케이션을 만든다는 것은 결과적으로 자바에서 제공하는 패키지들을 부품으로 조립해서 사용자 정의 로직을 만드는 과정이라고 할 수 있다.

📍 API 문서 :
자바 플랫폼 위에서 동작하는 자바 어플리케이션을 개발하는 개발자들은 자바 API 를 사용한다. 방대한 API의 목록과 사용법을 체계적으로 정리해놓은 문서를 이용할 수 있어야 한다.
링크 : API Documentation

  • java.lang
    자바 프로그래밍을 위한 가장 기본적인 패키지와 클래스를 포함하고 있다.
  • java.util
    프로그램을 제어하기 위한 클래스와 데이터를 효율적으로 저장하기 위한 클래스들을 담고 있다.
  • java.io
    키보드, 모니터, 프린터, 파일등을 제어할 수 있는 클래스들의 모음
  • java.net
    통신을 위한 기능들을 담고 있다.

Interface 란?
실제로 하면 복잡한 일을 간단 하게 할 수 있도록 만들어 놓은 어떤 장치

예시 1) 나만의 API 만들기!

  1. MyApiClass 클래스에 plus 메서드를 생성하고, API 설명서를 등록한다.
public class MyApiClass {
	/** API 설명서 
	 * 정수 <b>a</b> 와 정수 <b>b</b> 를 넣으면 합한 정수를 반환해줍니다.
	 * <p>작성자: 설유린, 날짜: 2023-08-10</p>
	 * @param a : 더하기 위해 입력할 정수
	 * @param b : 더하기 위해 입력할 정수
	 * @return : a 와 b 의 합
	 */
	int plus(int a, int b) {
		return a+b;
	}
}
  1. Main 클래스의 main 메서드에 새로운 api 변수를 선언하고, MyApiClass 를 객체화하여(=복사) api 변수에 담는다.
  2. plus 메서드를 불러와서 실행한다.
    이 때, api. 를 쓰고 ctrl + space 를 하면 plus 가 나타나는데, 클릭하면 API 설명서를 볼 수 있다.
class Main{
	public static void main(String[] args) {
        MyApiClass api = new MyApiClass(); 

        int result = api.plus(100, 200); 
        System.out.println(result); 
	}
}

예시 2) System.out.println(); 명령어

  • System : 클래스
  • out : 필드(멤버) - System 클래스의 필드(멤버) 중에 하나인 변수로, 객체이다
  • println : 메소드 - out 이라는 객체가 가지고 있는 메소드

우리는 따로 System 클래스를 인스턴스화(객체화) 한 적이 없어도 out 필드에 접근할 수 있었는데,
이것은 out 필드가 System 의 클래스 변수, 즉, static 이라는 것을 알 수 있다.

❓ 따로 System 클래스를 객체화하지 않아도 사용이 가능한 이유는?

자바에서는 자바 프로그래밍을 하는데 필수적인 java.lang 패키지의 클래스들을 암시적으로 import 해주고, System 클래스는 java.lang 패키지에 소속되어 있다. 따라서 사용자의 편의를 위해 자동으로 로딩을 하고 있는 것이다.

  • import java.lang.* : java 패키지 밑의 lang 패키지 밑에 소속된 모든 클래스를 현재 이 코드로 로드한다, 즉 import 한다. (화면상에서 생략되어 있다)
profile
슬기로운 개발 생활

0개의 댓글