도도한 개발자

[Java] #11. API 본문

Backend/Java

[Java] #11. API

Kiara Kim 2022. 3. 15. 15:53

API는 Appilication Programming Interface의 약자로, 애플리케이션에 선언되어 있는 클래스와 메소드에 대한 상세한 설명이 포함된 문서를 말한다. 자바의 API는 HTML로 구성되어 있는데 JDK docs를 다운받으면 docs > api안에 index.html 파일이 있다. 이 파일을 더블클릭하면 다음과 같은 화면이 나온다.

 

index.html

 

개발할 때 API는 단지 문서가 아니라 친구처럼 친하게 지내야 한다고 한다. 

 

 

* 실습

 

java.math 패키지의 BigDecimal 클래스의 API를 열어보자.

 

1. BigDecimal 클래스의 용도가 무엇인지 확인해보자.

 

· BigDecimal은 Java 언어에서 숫자를 정밀하게 저장하고 표현할 수 있는 유일한 방법이다.

· 소수점을 저장할 수 있는, 크기가 가장 큰 타입인 double은 소수점의 정밀도에 있어 한계가 있어 값이 유실될 수 있다.

· Java 언어에서 돈과 소수점을 다룬다면, BigDecimal은 선택이 아니라 필수이다.

· BigDecimal의 유일한 단점은, 느린 속도와 기본 타입보다 조금 불편한 사용법 뿐이다.

 

 

2. BigDecimal 클래스의 생성자가 몇 개인지 확인해보자.

 

16개이다.

 

3. BigDecimal 클래스에 있는 메소드 중 abs() 메소드의 용도는 무엇인가?

 

절대값으로 리턴하기 

 

 

4. BigDecimal 클래스에 있는 메소드 중 현재 값에서 특정 값을 빼는 연산을 수행하는 메소드는 어떤 것인가?

subtract(BigDecimal subtrahend, MathContext mc)

Returns a BigDecimal whose value is (this - subtrahend), with rounding according to the context settings.

 

 

5. BigDecimal 클래스에 있는 메소드 중 나누기와 관련된 메소드에는 어떤 것들이 있는지 확인해보자.

 

 

* 정리

 

API 문서를 자동으로 생성하는 명령어는 무엇인가요?

javadoc 명령을 사용하면 API 문서를 자동으로 생성해 준다.
단, 관련 소스에 API에 명시할 내용들이 정리되어 있어야만 한다.

API의 왼쪽 상단 창에는 어떤 내용이 제공 되나요?

API 문서의 왼쪽 상단에는 "패키지 목록"이 제공된다. 

API의 왼쪽 하단에는 어떤 내용이 제공 되나요? 

API 문서의 왼쪽 하단에는 "클래스 목록"이 제공된다. 제공되는 상세한 내용을 살펴보면 다음과 같다.
- 인터페이스 목록 (기울임 글자체인 italic 체로 표시된다)
- 클래스 목록
- Enum 클래스 목록
- 예외 클래스 목록
- 에러(Error) 클래스 목록
- 어노테이션 타입 목록(Annotation Types)

API 우측화면에는 보통 어떤 내용이 제공되나요? 

API 문서의 우측 중앙에는 좌측 하단의 클래스 목록에서 선택한 항목에 대한 상세한 설명이 제공된다. 

Deprecated라는 것의 의미는 무엇인가요?

Deprecated로 명시된 것은 더 이상 사용하지 않는다. 그렇다고, 컴파일 에러가 발생하지는 않지만, Deprecated로 선언된 메소드를 사용하는 것은 절대 권장하지 않는다.

 

그럼 이만.