Page 26 -
P. 26
으로 변환하는 기능을 제공한다. 그리고 String, StringBuilder도 사 표준 시스템 라이브러리
Math
용되는데 이 절과 5장에서 자세히 설명된다.
Integer *
java.util.Arrays처럼 부가적인 라이브러리들도 있다. 표준 자바 언 Double *
어에는 이러한 라이브러리가 수천 개 정도 있다. 하지만 이 책에서는 String *
StringBuilder
꼭 필요한 극히 적은 수만 사용한다. 이러한 라이브러리를 사용할 때
System
는 import 구문을 이용해 명시적으로 사용 선언을 해야 한다.
Import해야 하는 시스템 라이브러리
이 책의 내용 설명 중에 만들어진 코드들도 라이브러리로써 이용된 java.util.Arrays
다. 예를 들어 다른 프로그램에서 BinarySearch의 rank() 메서드를 이 책에서 만든 라이브러리
StdIn
사용할 수 있다. 이러한 라이브러리를 사용하려면 북사이트에서 소스
StdOut
코드를 내려받아 작업 디렉터리에 옮겨 놓아야 한다.
StdDraw
Std*로 시작하는 라이브러리들은 이 책을 위해 만든 표준 라이브러 StdRandom
리이다(저자의 다른 서적인 <Programming in Java: An Interdisciplinary StdStats
In *
Approach>에서도 사용된다). 이들 라이브러리는 다음 수 페이지에
Out *
걸쳐 설명된다. 소스 코드와 사용 방법은 북사이트에서 내려받을 수 * 이들 라이브러리는 static 메서드와 함께
있다. 데이터 타입 정의도 포함하고 있다
그림 1-5 이 책에서 사용되는
다른 라이브러리의 메서드를 실행하기 위해서는 먼저 그 라이브러리 static 메서드 라이브러리
가 호출하는 코드와 같은 디렉터리에 있거나, java 명령어를 통해 해
당 디렉터리가 지정되거나, 아니면 자바 표준 시스템 라이브러리이어야 하고 호출하는 코드의 클래
스 안에서 import 선언이 되어 있어야 한다. 호출하는 코드에서는 메서드를 호출할 때마다 그 메서드
가 속한 클래스 이름을 메서드 이름 앞에 붙이게 된다. 예를 들어 BinarySearch의 main() 메서드 안
에서 java.util.Arrays의 sort()를 호출할 때나 StdOut의 println()을 호출할 때 클래스 이름을 메
서드 이름 앞에 붙여서 호출하고 있다.
모듈러 프로그래밍 환경에서 다른 사람 또는 개발자 자신이 만든 라이브러리 메서드를 재활용할 수
있게 되면 프로그래밍 모델의 범위가 크게 넓어진다. 표준 자바 릴리스에 포함된 라이브러리 외에도
수천 개가 넘는 여러 종류의 라이브러리들을 인터넷에서 구할 수 있다. 이 책에서는 이 책의 목적인
알고리즘의 설명에 집중하기 위해 위에서 정리한 라이브러리 및 그중 일부 메서드들만 사용한다. 사
용되는 메서드들은 그때그때 API 절에서 설명한다.
API 모듈러 프로그래밍에서 라이브러리를 이용하려면 그 라이브러리의 메서드들이 어떤 기능을 하
는지 알려주는 사용자 설명서가 꼭 필요하다. 이런 맥락에서, 라이브러리 메서드들이 사용될 때마다
API(Application Programming Interfaces) 절을 두어 라이브러리의 이름과 메서드의 시그니처 및 그 사용
법에 대한 간략한 설명을 한다. 라이브러리를 사용하는 프로그램을 클라이언트라 부르고 API로서 라
이브러리의 메서드가 구현된 코드를 구현부라고 부른다.
API 예시 다음은 자바의 표준 Math 라이브러리의 static 메서드들을 API 절로서 설명한 예이다.
038