Java - API와 API 문서 보는 법

Yuri Lee·2020년 10월 5일
0

Java

목록 보기
19/23

기본 패키지와 사용자 정의 로직

System.out.println(1);

대체 우리가 정의한 적이 없는 이 명령은 무엇일까? 문법적으로 봤을 때 println은 메소드가 틀림없다. 그런데 메소드 앞에 Sytem.out이 있다. System은 클래스이고 out은 그 클래스의 필드(변수)이다. 이 필드가 메소드를 가지고 있는 것은 이 필드 역시 객체라는 것을 알 수 있다. 그리고 System을 인스턴스화한적이 없음에도 불구하고 필드 out에 접근할 수 있는 것은 out이 static이라는 것을 암시한다.

System 클래스는 어디서 나타난 것일까? 아래의 코드를 보자.

package com.yuri.javatutorials.library;

public class LibraryDemo1 {
    public static void main(String[] args) {
        System.out.println(1);
    }
}

위 코드는 아래의 코드와 동일하다.

package com.yuri.javatutorials.library;

import java.lang.*;

public class LibraryDemo1 {
	public static void main(String[] args) {
		System.out.println(1);
	}
}

2행의 import java.lang.*;이 보이는가? 패키지 java.lang은 자바 프로그래밍을 하기 위해서 필수적인 클래스들을 모아둔 패키지다. 따라서 사용자의 편의를 위해서 자동으로 로딩을 하고 있는 것이다.

클래스 System은 바로 이 java.lang의 소속이다.

자바 에플리케이션을 만든다는 것은 결과적으로 자바에서 제공하는 패키지들을 부품으로 조립해서 사용자 정의 로직을 만드는 과정이라고 할 수 있다.

API

API란 자바 시스템을 제어하기 위해서 자바에서 제공하는 명령어들을 의미한다. Java SE(JDK)를 설치하면 자바 시스템을 제어하기 위한 API를 제공한다. 자바 개발자들은 자바에서 제공한 API를 이용해서 자바 애플리케이션을 만들게 된다. 패키지 java.lang.*의 클래스들도 자바에서 제공하는 API 중의 하나라고 할 수 있다.

UI와 API

UI: User Interface
API: Application Programming Interface

이 둘의 공통점은 인터페이스라는 것!

UI
유저, 사용자를 대면하는 접점이 되는 지점을 포괄적으로 유저 인터페이스라고 부르고 UI라고 부른다.
노트북에 있는 UI는, 물리적인 기계적인 하드웨어적인 UI라고 한다면 웹사이트에 있는 버튼은 소프트웨어적인 UI이다.

API
브라우저에서 주소창에다가 javascript:alert("helloworld");를 치면 alert 창이 뜬다. 이 경고창은 내가 만든 게 아니다. alert 도 일종의 인터페이스라고 볼 수 있다. 코드의 형태를 띄고 있는 인터페이스다. 웹 브라우저가 제공하는 ..

사용자와 사용하는 인터페이스와 구분하기 위해 api라고 부른다.

alert라는 텍스트는 브라우저가 경고창을 띄어주는데, 이거는 브라우저를 만든 회사 개발자들이 만들었을 것이다.

alert 라고 하는 명령어를 시스템에 전달하면 다음과 같은 경고창을 띄어준다. 단순히 alert라는 명령어만 입력하면 적은 노력을 통해 사용할 수 있다.

개발자들은 api를 통해 브라우저를 제어한다.

개발자가 아닌 사람들은 ui를 통해 시스템을 제어하고 지휘한다고 하면 개발자들은 alert과 같은 api를 통해 자신의 맥락에 맞게 응용해서 웹브라우저와 같은 플랫폼을 제어한다.

사용자
웹 개발자, 게임 개발자, 앱 개발자 ...
브라우저
운영체제
C, C++
어셈블리어
기계어

개발자로써 사용자에게 유익한 UI를 제공하기 위해 API를 잘 사용해서 만들자

API 문서

자바 플랫폼 위에서 동작하는 자바 애플리케이션을 개발하는 개발자들은 자바 API를 사용하게 된다. 그런데 자바에서 제공하는 API는 방대하기 때문에 이것을 이용하기 위해서는 API의 목록과 사용법이 체계적으로 정리된 문서를 이용할 수 있어야 한다.

system.out.println을 할때 다양한 형태의 데이터 타입들을 오버로딩해서 준비하고 있기 때문!


이 글은 생활코딩의 자바 강좌를 바탕으로 정리한 내용입니다.

profile
Step by step goes a long way ✨

0개의 댓글