| English | 의미 |
|---|---|
| library/ˈlaɪbrəri/ | 라이브러리 |
| API/ˌeɪ piː ˈaɪ/ | API |
타인의 코드 위에서의 개발
- 모든 것을 처음부터 직접 작성할 필요는 없습니다 — Java에는 방대한 양의 미리 작성된 코드가 포함되어 있습니다.
- 라이브러리는 사용자가 사용할 수 있는 미리 작성된 클래스의 모음입니다.
- Java의 표준 라이브러리에는
String,Math,Scanner,ArrayList등 수천 개의 클래스가 포함됩니다. - 검증된 라이브러리 코드를 재사용하는 것이 직접 만들어내는 것보다 빠르고 안전합니다.
API가 알려주는 내용
- API(Application Program Interface)는 클래스가 제공하는 기능에 대한 문서화된 목록입니다.
- 각 메서드의 이름,受け取는 파라미터, 그리고 반환값을 알려줍니다.
- 당신은 API에 맞춰 프로그래밍합니다 — 메서드는 내부 코드가 아닌 문서화된 행동 방식으로 사용합니다.
- API는 계약입니다: "이런 입력을 주면, 이 출력을 제공하겠습니다."
클래스 가져오기
- 일부 클래스는 사용하기 전에
import문장이 필요합니다. import java.util.Scanner;이Scanner을 사용 가능하게 만듭니다.String과Math같은 핵심 클래스들은java.lang에 포함되어 있어 자동으로 가져와집니다.- import문은 파일 상단에, class 정의 위에 배치해야 합니다.
내부 구현 없이 사용하기
Math.sqrt(x)이 제곱근을 어떻게 계산하는지 알지 못해도 이를 호출할 수 있습니다.- 이는 추상화입니다: API가 간단한 인터페이스 뒤에 실제 구현을 숨깁니다.
- 무엇(문서화된 동작)만 알면 되며, 어떻게는 필요 없습니다.
- 좋은 라이브러리는 복잡한 코드를 블랙박스로 취급함으로써 빠른 개발을 가능하게 합니다.
라이브리를 사용할까요, 직접 작성할까요?
표준 라이브리가 이미 수행하는지 여부에 따라 각 과제를 정리하십시오.
당신은 내부 코드가 아닌 API의 문서화된 행동에 맞춰 프로그래밍해야 합니다. 메서드가 무엇을 받아 무엇을 반환하는지만 읽으십시오 — 내부 작동 원리를 볼 필요(또는 원치)도 없습니다. 대부분의 클래스에는 **import**이 필요하지만, java.lang 클래스들(String, Math, System, Integer)은 자동으로 가져와지므로, Scanner에는 import java.util.Scanner;이 필요하지만 Math에는 필요가 없습니다.
Math 라이브러리 사용하기:
- import 불필요 —
Math은java.lang에 포함됩니다. double r = Math.sqrt(16);→r은4.0이며, 알고리즘을 본 적도 없습니다.- API는 단순히 약속했습니다: "숫자를 주면 제곱근을 반환하겠습니다."
라이브러리는 재사용 가능한 미리 작성된 코드이며, API는 각 클래스의 메서드(이름, 파라미터, 반환값)를 문서화하여 당신이 문서화된 행동에 맞춰 프로그래밍할 수 있게 합니다. 대부분의 클래스에는 **import**이 필요하며(예: Scanner), 하지만 java.lang 클래스들(String, Math)은 자동 import됩니다. API는 추상화입니다 — 내부 구현을 보지 않고 사용할 수 있습니다.
API는 클래스의 메서드들을 설명하며, 그들의...를 알려줍니다.
난이도 1/5 · 100 코인 + 오늘 첫 완료 시 소액 보너스
내부 코드가 아닌 문서화된 이름/매개변수/반환값을 통해 프로그래밍합니다.
사용 전에 import 문장이 필요한 클래스는?
난이도 1/5 · 100 코인 + 오늘 첫 완료 시 소액 보너스
java.lang 클래스는 자동으로 import되며; Scanner (java.util)은 import가 필요합니다.
라이브리 메서드의 내부 코드를 읽어야만 사용할 수 있습니다.
난이도 1/5 · 100 코인 + 오늘 첫 완료 시 소액 보너스
문서화된 동작을 통해 사용하는 것이 바로 추상화입니다.
미리 작성된 재사용 가능한 클래스들의 모음을 ___(단일 단어)라고 합니다.
난이도 1/5 · 100 코인 + 오늘 첫 완료 시 소액 보너스
라이브리는 재사용 가능한 코드를 묶어놓습니다.
Math와 String은 java.lang에 포함되어 있으므로 자동으로 import됩니다.
난이도 1/5 · 100 코인 + 오늘 첫 완료 시 소액 보너스
java.lang은 모든 Java 프로그램에서 기본적으로 import됩니다.