[Effective Java] item 59. 라이브러리를 익히고 사용하라 Random 메서드 무작위 정수 하나를 생성하고 싶다고 해보자. 값의 범위는 0부터 명시한 수이다. 아주 흔히 마주치는 문제로, 많은 프로그래머가 다음과 같은 짤막한 메서드를 만들곤 한다. 흔하지만 문제가 심각한 코드! static Random rnd = new Random(); static int random(int n) { return Math.abs(rnd.nextInt()) % n; } 괜찮은 듯 보여도 문제를 세 가지나 내포하고 있다. Random 메서드의 결함 첫 번째, n이 그리 크지 않은 2의 제곱수라면 얼마 지나지 않아 같은 수열이 반복된다. 두 번째, n이 2의 제곱수가 아니라면 몇몇 숫자가 평균적으로 더 자주 ..