[Java] Math 클래스

고병갑·2026년 3월 20일

java study

목록 보기
13/15

Java Math 클래스 활용 가이드

java.lang.Math 클래스는 자바에서 수학적 연산을 수행하는 데 필요한 다양한 정적(static) 메서드를 제공하는 유틸리티 클래스이다. 별도의 객체 생성 없이 Math 클래스 이름을 통해 직접 메서드를 호출하여 활용하며, 복잡한 수학 계산을 간결하고 효율적으로 처리하는 데 기여한다. 본 포스팅에서는 Math 클래스의 주요 메서드와 활용법을 다룬다.

Math 클래스 개요

java.lang 패키지에 포함되어 있어 별도의 import 문 없이 사용 가능하다. 모든 메서드가 static으로 선언되어 있어 Math.abs()와 같이 클래스명으로 직접 접근하여 사용함이 특징이다. 기본적인 사칙연산을 넘어, 절대값, 난수, 반올림, 제곱근 등 다양한 수학 기능을 제공한다.

주요 메서드

1. 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

2. 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 사이 랜덤 정수 생성

3. 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

4. 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)

5. 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

6. pow(), sqrt(): 거듭제곱/제곱근

  • pow(a, b): ab 제곱 값을 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 메서드 제공을 통해 객체 생성 없이 즉시 활용 가능하며, 절대값, 난수 생성, 올림/내림, 거듭제곱, 제곱근 등 다양한 수학적 요구사항에 대응한다. 이 클래스를 효과적으로 활용함으로써 코드의 복잡도를 줄이고, 견고한 수치 계산 로직을 구현할 수 있다.

원문 출처: https://blog.naver.com/h970303/223374011597

profile
노력 naver 배신🔥

0개의 댓글