'
본문 바로가기
study/Programming

[JAVA 기초] Java API - Math 클래스

by meowdule 2025. 4. 26.

 

1. Math 클래스란?


📌 Math 클래스

수학 계산에 필요한 기능들을 모아놓은 Java 내장 API입니다.
자바에서 자주 사용하는 수학 연산 함수들이 이 클래스에 포함되어 있습니다.

 

 


📌 특징

  • java.lang.Math 패키지에 포함
    → 별도 import 없이 사용 가능
  • 모든 메서드가 static
    → 객체 생성 없이 Math.메서드() 형태로 호출
// 객체 생성 없이 바로 사용
int result = Math.abs(-10);

 

 

 

 

 

 

 

2. 주요 메서드


📌 절대값 구하기 - abs()

System.out.println("절대값: " + Math.abs(-7));     // 7
System.out.println("절대값: " + Math.abs(-1.25));  // 1.25

 

 


📌 최솟값, 최댓값 - min(), max()

System.out.println("최솟값: " + Math.min(10, 20)); // 10
System.out.println("최댓값: " + Math.max(20, 30)); // 30

 

 


📌 원주율 상수 - PI

System.out.println("원주율: " + Math.PI); // 3.141592653589793

 

 


📌 난수 생성 - random()

  • 특정 범위의 정수 난수 만들기
System.out.println("0.0 이상 1.0 미만의 난수: " + Math.random());

// 공식
// (int)(Math.random() * 개수) + 시작값;

// 예제
// 0~9
int r1 = (int)(Math.random() * 10);
System.out.println("0~9: " + r1);

// 1~10
int r2 = (int)(Math.random() * 10) + 1;
System.out.println("1~10: " + r2);

// 10~15
int r3 = (int)(Math.random() * 6) + 10;
System.out.println("10~15: " + r3);

 

 

 

 

3. java.util.Random 클래스와 비교


📌 Random 클래스

Java에서는 Random 클래스도 난수 생성을 지원합니다.

import java.util.Random;

Random rand = new Random();
int num = rand.nextInt(10);  // 0 ~ 9 난수
 
 
 


📌 Random 클래스 주요 특징

항목 Math.random() Random 클래스
리턴 타입 double (0.0 이상 1.0 미만) 다양한 타입 가능 (int, long, boolean, ...)
범위 지정 방식 수식 필요 nextInt(bound) 등으로 간단하게 지정 가능
객체 생성 ❌ (static 메서드) ⭕ 객체 생성 후 사용
난수 품질 단순, 빠름 더 다양한 방식 지원
 


📌 Random 클래스 범위별 정수 난수 생성

Random random = new Random();

// 0~9
int a = random.nextInt(10);

// 1~10
int b = random.nextInt(10) + 1;

// 20~45
int c = random.nextInt(26) + 20;

System.out.println("0~9: " + a);
System.out.println("1~10: " + b);
System.out.println("20~45: " + c);
 
 

 

 

 

 

 

 

4. 정리

 

 

  • Math 클래스는 자주 쓰는 수학 기능을 모아둔 유틸리티 클래스입니다.
  • 객체 생성 없이 메서드를 호출할 수 있습니다.
  • 난수 생성 시에는 Math.random() vs Random 클래스의 특성을 이해하고 목적에 따라 선택하면 좋습니다.

 

 

 

 

 

 

 

 

마무리
다음 게시글에서는 API 중 Scanner 클래스에 대해 학습하겠습니다.

 

'study > Programming' 카테고리의 다른 글

[JAVA 기초] 제어문 - 조건문  (2) 2025.04.28
[JAVA 기초] Java API - Scanner 클래스  (1) 2025.04.27
[JAVA 기초] API 개념 중심  (1) 2025.04.25
[JAVA 기초] import 문법  (1) 2025.04.24
[JAVA 기초] 패키지(package)란?  (1) 2025.04.23