이 메서드는 다음과 같이 호출한다.
int dieToss = RandomNumbers.nextInt(gen, 1, 6);
Note ≣
객체로도 정적 메서드를 호출할 수 있다. 예를 들어 LocalDate.now()를 호출해 오늘 날짜를 얻는 대신 LocalDate 클래스의 date 객체로 date.now()처럼 호출할 수 있다. 하지만 그다지 의미 있는 방법이 아니다. now 메서드는 결과를 계산할 때 date 객체를 사용하지 않는다. 대다수 자바 프로그래머는 이 방법이 볼품 없다고 생각한다.
정적 메서드는 객체에 작동하지 않으므로 인스턴스 변수에 접근할 수 없다. 그 대신 자신이 속한 클래스의 정적 변수에 접근할 수 있다. 예를 들어 RandomNumbers.nextInt 메서드는 정적 변수로 만든 난수 발생기(generator)에 접근할 수 있다.
public class RandomNumbers {
private static Random generator = new Random();
public static int nextInt(int low, int high) {
return low + generator.nextInt(high - low + 1);
// 정적 변수 generator에 접근할 수 있다.
}
}