Computer >> 컴퓨터 >  >> 프로그래밍 >> Java

Java StrictMath 클래스란? 주요 용도와 사용법 총정리

java.lang.StrictMath 클래스는 final로 선언된 클래스이며, Object 클래스의 하위 클래스입니다. 이 클래스는 지수 함수, 로그, 제곱근, 그리고 삼각 함수와 같은 기본적인 수치 연산을 수행하기 위한 다양한 메서드를 제공합니다.

StrictMath 클래스의 모든 메서드는 static(정적) 메서드이기 때문에 객체(인스턴스)를 생성할 필요가 없다는 점이 특징입니다. 대표적인 메서드로는 abs(), acos(), asin(), atan(), ceil(), floor(), log(), max(), min(), pow(), random(), round() 등이 있습니다.

StrictMath와 Math 클래스의 차이점

StrictMath는 이름 그대로 '엄격한(strict)' 수학 연산을 보장하는 클래스입니다. Java의 Math 클래스는 성능 최적화를 위해 플랫폼에 따라 결과가 약간 달라질 수 있지만, StrictMath는 모든 플랫폼에서 동일하고 일관된(bit-for-bit reproducible) 결과를 반환하도록 설계되어 있습니다. 따라서 부동소수점 연산의 정확성과 재현성이 중요한 금융 시스템이나 과학 계산 분야에서 유용하게 활용됩니다.

문법

public final class StrictMath extends Object

사용 예제

public class StrictMathTest {
   public static void main(String args[]) {
      System.out.println("절댓값: " + StrictMath.abs(-100.50));
      System.out.println("올림 값: " + StrictMath.ceil(100.55));
      System.out.println("내림 값: " + StrictMath.floor(100.55));
      System.out.println("최댓값: " + StrictMath.max(100, 200));
      System.out.println("최솟값: " + StrictMath.min(100, 200));
      System.out.println("난수: " + StrictMath.random());
      System.out.println("반올림 값: " + StrictMath.round(100.75));
      System.out.println("제곱근: " + StrictMath.sqrt(2));
      System.out.println("PI 값: " + StrictMath.PI);
      System.out.println("로그 값: " + StrictMath.log(10.55));
   }
}

실행 결과

절댓값: 100.5
올림 값: 101.0
내림 값: 100.0
최댓값: 200
최솟값: 100
난수: 0.22227639516105102
반올림 값: 101
제곱근: 1.4142135623730951
PI 값: 3.141592653589793
로그 값: 2.3561258599220753

정리

StrictMath 클래스는 인스턴스 생성 없이 바로 호출할 수 있는 정적 메서드들로 구성되어 있으며, 플랫폼과 무관하게 항상 동일한 연산 결과를 보장해야 하는 경우에 Math 클래스 대신 사용하는 것이 좋습니다. 기본적인 절댓값, 반올림, 제곱근부터 삼각 함수까지 폭넓은 수학 연산을 지원하므로, 정확한 수치 처리가 필요한 Java 프로젝트에서 신뢰할 수 있는 선택지입니다.