java.util.Random 클래스는 난수를 생성하는 데 사용됨
Random 클래스의 객체를 생성하여 난수를 활용할 수 있음
Random rand = new Random();
메서드 | 설명 |
---|---|
nextInt(int i) | 0부터 i까지의 랜덤한 숫자를 리턴합니다 |
nextInt() | Int 타입의 최소-최대범위 안에서 랜덤한 숫자를 리턴합니다 |
nextLong() | Long 타입의 최소-최대범위 안에서 랜덤한 숫자를 리턴합니다 |
nextDouble() | Double 타입의 0 - 1까지의 랜덤한 숫자를 리턴합니다 |
nextFloat() | Float 타입의 0 - 1까지의 랜덤한 숫자를 리턴합니다 |
nextGaussian | 평균이 0.0이고 표준편차가 1.0인 정규분포의 랜덤 숫자를 리턴합니다 |
nextBoolean | boolean타입의 true, false 중 랜덤한 값을 리턴합니다 |
- 의사난수
난수를 만들 수 없는 컴퓨터 등에서 난수를 사용하기 위해서 만들어진 수열
Random은 시드(seed)라는 '기준이 되는 값'이 존재함Random rand = new Random(); // seed = System.nanoTime()
위와 같이 시스템 시간을 통해 시드가 정해지는 것이 기본이고 시드를 정해서 사용 할 수 있음
따라서, 시드값이 동일하다면 매번 같은 형태로 생성되므로 암호화 등에 사용하기 위해선 SecureRandom 등을 사용해야 함