StrictMath — 엄격 수학 함수 클래스

StrictMath — 엄격 수학 함수 클래스

StrictMath 클래스는 지수, 로그, 제곱근, 삼각 함수 같은 기본 숫자 연산을 수행하는 메서드를 포함해요. Math 클래스와 달리 StrictMath의 메서드는 고정된(free-standing) 수학 라이브러리 구현 표준에 따라 결정론적으로 동작해요. 즉 어떤 플랫폼에서 실행해도 StrictMath의 결과가 동일하게 나오도록 보장돼요. 이 클래스는 인스턴스화할 수 없어요 — 모든 메서드가 정적(static)이에요.

출처: Java API Reference

본문

상수:

public static final double E — 오일러 수 e (자연 로그의 밑). 값은 2.718281828459045예요.

public static final double PI — 파이 (원의 원주와 지름의 비). 값은 3.141592653589793예요.

public static final double TAU — 원의 원주와 반지름의 비 ().

public static final double DEGREES_TO_RADIANS ... RADIANS_TO_DEGREES — 각도 변환 상수예요.

주요 함수들:

public static double abs(double a)double 값의 절댓값을 반환해요. 오버로드로 abs(float), abs(int), abs(long)이 있어요.

public static double ceil(double a) — 인자보다 크거나 같은 가장 작은 double 값을 반환해요 (올림).

public static double floor(double a) — 인자보다 작거나 같은 가장 큰 double 값을 반환해요 (내림).

public static double round(double a) — 반올림해 가장 가까운 long을 반환해요.

min(double a, double b) / max(double a, double b) — 최솟값·최댓값을 반환해요 (여러 기본 타입 오버로드).

public static double sqrt(double a) — 양수 제곱근을 반환해요.

public static double cbrt(double a) — 세제곱근을 반환해요.

public static double pow(double a, double b)ab 거듭제곱을 반환해요.

public static double exp(double a) — 오일러 수 ea 승을 반환해요.

public static double expm1(double a)ea 승에서 1을 뺀 값을 반환해요.

public static double log(double a) — 자연 로그(밑 e)를 반환해요.

public static double log10(double a) — 밑이 10인 로그를 반환해요.

public static double log1p(double a)1 + a의 자연 로그를 반환해요.

삼각 함수:

sin(double a) / cos(double a) / tan(double a) — 사인·코사인·탄젠트를 반환해요.

asin(double a) / acos(double a) / atan(double a) — 아크사인·아크코사인·아크탄젠트를 반환해요.

atan2(double y, double x) — 직각 좌표를 극좌표로 변환해 각도를 반환해요.

sinh(double x) / cosh(double x) / tanh(double x) — 쌍곡 사인·코사인·탄젠트를 반환해요.

toRadians(double angdeg) ... toDegrees(double angrad) — 각도를 라디안·도로 변환해요.

public static double random()0.0 이상 1.0 미만의 양의 부호 double 값을 반환해요. 같은 시드를 사용한 java.util.Random 인스턴스처럼 동작하는데, StrictMath.random()Math.random()과 달리 결정론적이에요.

public static int floorDiv(int x, int y) ... floorMod — 바닥 나눗셈·모듈로를 반환해요.

public static double copySign(double magnitude, double sign) ... nextAfter, nextUp, nextDown, scalb, ulp, signum, hypot — IEEE 754 부동소수점 유틸리티 메서드들이에요.

StrictMath는 결정론적 결과가 중요한 애플리케이션(예: 과학 계산, 동일한 결과를 여러 플랫폼에서 재현해야 하는 경우)에 적합해요. Math 클래스는 성능 최적화를 위해 일부 함수를 플랫폼별로 다르게 구현할 수 있어요.

더 알아보기 (Learn more)