Math 클래스 활용 가이드java.lang.Math 클래스는 자바에서 수학적 연산을 수행하는 데 필요한 다양한 정적(static) 메서드를 제공하는 유틸리티 클래스이다. 별도의 객체 생성 없이 Math 클래스 이름을 통해 직접 메서드를 호출하여 활용하며, 복잡한 수학 계산을 간결하고 효율적으로 처리하는 데 기여한다. 본 포스팅에서는 Math 클래스의 주요 메서드와 활용법을 다룬다.
Math 클래스 개요java.lang 패키지에 포함되어 있어 별도의 import 문 없이 사용 가능하다. 모든 메서드가 static으로 선언되어 있어 Math.abs()와 같이 클래스명으로 직접 접근하여 사용함이 특징이다. 기본적인 사칙연산을 넘어, 절대값, 난수, 반올림, 제곱근 등 다양한 수학 기능을 제공한다.
abs(): 절대값 반환인자로 전달된 숫자의 절대값을 반환한다. 정수형(int, long), 실수형(float, double) 등 다양한 타입의 절대값을 처리할 수 있다.
System.out.println(Math.abs(-999)); // 999
System.out.println(Math.abs(0)); // 0
System.out.println(Math.abs(99999)); // 99999
System.out.println(Math.abs(-3.14)); // 3.14
random(): 난수 생성0.0 (포함) 이상 1.0 (미포함) 사이의 double형 난수(random number)를 생성하여 반환한다. 특정 범위의 정수 난수를 생성하려면 형변환 및 곱셈 연산이 필요하다.
System.out.println(Math.random()); // 0.0 이상 1.0 미만 (예: 0.12345...)
System.out.println((int)(Math.random() * 10)); // 0~9 사이 랜덤 정수 생성
System.out.println((int)(Math.random() * 100)); // 0~99 사이 랜덤 정수 생성
System.out.println((int)(Math.random() * 1000)); // 0~999 사이 랜덤 정수 생성
max(), min(): 최대/최소값 반환두 개의 인자 중 더 큰 값(max) 또는 더 작은 값(min)을 반환한다. 비교할 데이터는 두 개로 제한되며, 다양한 숫자 타입을 지원한다.
System.out.println(Math.max(10, 999)); // 999
System.out.println(Math.min(1, 9999999)); // 1
System.out.println(Math.max(3.14, 2.71)); // 3.14
System.out.println(Math.min(-5, -10)); // -10
round(): 반올림인자로 전달된 실수를 소수점 첫째 자리에서 반올림하여 long형 정수(또는 float의 경우 int)를 반환한다.
System.out.println(Math.round(1.3)); // 1 (long)
System.out.println(Math.round(3.91)); // 4 (long)
System.out.println(Math.round(5.5)); // 6 (long)
System.out.println(Math.round(-2.7)); // -3 (long)
ceil(), floor(): 올림/내림ceil(): 인자보다 크거나 같은 정수 중 가장 작은 double 값을 반환한다 (올림).floor(): 인자보다 작거나 같은 정수 중 가장 큰 double 값을 반환한다 (내림).System.out.println(Math.ceil(1.3)); // 2.0
System.out.println(Math.ceil(3.91)); // 4.0
System.out.println(Math.ceil(-1.3)); // -1.0
System.out.println(Math.floor(1.3)); // 1.0
System.out.println(Math.floor(3.91)); // 3.0
System.out.println(Math.floor(-1.3)); // -2.0
pow(), sqrt(): 거듭제곱/제곱근pow(a, b): a의 b 제곱 값을 double형으로 반환한다.sqrt(a): a의 제곱근 값을 double형으로 반환한다.System.out.println(Math.pow(6, 2)); // 36.0 (6의 2승)
System.out.println(Math.pow(2.0, 3.0)); // 8.0 (2의 3승)
System.out.println(Math.sqrt(49)); // 7.0 (49의 제곱근)
System.out.println(Math.sqrt(2.0)); // 1.4142135623730951
java.lang.Math 클래스는 자바 개발에서 수치 연산을 간편하고 효율적으로 처리할 수 있도록 지원하는 핵심 유틸리티이다. static 메서드 제공을 통해 객체 생성 없이 즉시 활용 가능하며, 절대값, 난수 생성, 올림/내림, 거듭제곱, 제곱근 등 다양한 수학적 요구사항에 대응한다. 이 클래스를 효과적으로 활용함으로써 코드의 복잡도를 줄이고, 견고한 수치 계산 로직을 구현할 수 있다.