Page 27 -
P. 27
표 1-6 자바 수학 라이브러리의 API(일부)
1
public class Math
static double abs(double a) a의 절댓값 기초 개념
static double max(double a, double b) a와 b 중에서 최댓값
static double min(double a, double b) a와 b 중에서 최솟값
노트 1: abs(), max(), and min() are defined also for int, long, and float.
static double sin(double theta) sin 함수
static double cos(double theta) cos 함수
static double tan(double theta) tan 함수
노트 2: 각도는 라디안 단위를 사용한다. 변환이 필요하면 toDegrees() 또는 toRadians() 메서드를
이용한다.
노트 3: 역함수인 asin(), acos(), atan() 도 있다.
a
static double exp(double a) 자연상수 e의 a승(e )
static double log(double a) 자연로그(logea 또는 ln a)
b
static double pow(double a, double b) a의 b승(a )
static double random() [0, 1) 사이의 무작위 숫자
static double sqrt(double a) a의 제곱근
static double E 자연상수 e의 값 (상수)
static double PI 원주율 π의 값 (상수)
다른 함수들에 대해서는 북사이트를 참고한다.
이들 메서드들은 수학에서의 함수와 같다. 이들은 넘겨받은 인수를 이용해 연산을 하고 주어진 데이
터 타입의 값을 만든다(단 random() 메서드는 예외이다. 이 메서드는 인수를 받지 않기 때문에 수학
의 함수와는 다르다). 이 메서드들은 double 타입 값에 작업을 수행하고 double 타입 결괏값을 내놓
기 때문에 double 데이터 타입의 확장 기능으로 생각할 수도 있다. 이러한 데이터 타입의 확장 기능
은 현대 프로그래밍 언어들이 가진 특징 중 하나이다. 각 메서드의 사용에 필요한 정보들은 API 절
에서 하나하나 설명되고 있다. Math 라이브러리는 원주율 PI와 자연상수 E의 정확한 값에 대해서도
정의하고 있기 때문에 필요한 경우 이 상수들의 이름을 프로그램 안에서 사용할 수 있다. 예를 들어
Math.sin(Math.PI/2)의 결과는 1.0이고 Math.log(Math.E)의 결과도 1.0이다(Math.sin()은 인수로 라
디안 단위의 값을 받고 Math.log()는 자연로그 함수이기 때문이다).
자바 라이브러리 자바 릴리스에 포함된 수천 개의 라이브러리 모두 온라인상에서 API 가이드 문서를
제공한다. 그 문서들 중 이 책에서 사용되는 메서드에 대한 것들만 프로그래밍 모델의 이해를 위해
필요할 때 일부 발췌하여 싣도록 한다. 예를 들어 BinarySearch는 자바 Arrays 라이브러리의 sort()
메서드를 사용하는데 이에 대해 다음처럼 설명을 하게 된다.
039