``` publicpubl class Gamble { public static void main(String[] args) { double dollar = dice() + dice() + dice(); double won = exchange(dollar); System.out.printf("획득 금액: $%.2f(%.0f원)", dollar, won); } public static int dice() { /* Math.random() 메소드를 활용하여 1~6 사이의 정수를 반환하도록 하시오 */ return 0; } public static double exchange(double dollar) { /* 입력받은 달러를 환전하여 반환 하시오 */ return 0; } } ``` 질문) 제가 알고 있는 건 주소(=객체).매서드(); //매서드 호출 주소(=객체).멤버변수 //멤버변수 호출 ======================================== Math.random()메소드를 활용하라 요렇게 주석이 달려있는데 그러면 일단 random이 메소드 명칭이고 random() 이건 메소드를 호출하는것 그러면 Math.은 주소(객체)?가 되는 건가요??
# Math.random() Math는 메모리 주소가 맞습니다. 다만 객체의 주소가 아닌 클래스의 주소입니다. ## 클래스 메소드 객체의 생성없이 사용 가능한 유틸성 메소드. ``` // 클래스 메소드 예 Math.random(); // [0:1) - 0 포함 ~ 1 미만 임의 실수 반환실수 Math.pow(2, 3); // 2^3 ``` ## 레퍼런스 변수 레퍼런스 변수란 객체의 주소를 담고있는 변수. JVM Stack 영역에 존재. ``` // 레퍼런스 변수 예 Hero h; ``` ## 레퍼런스 + 레퍼런스(reference) 변수 (http://cloudstudying.kr/lectures/198) + static 키워드와 클래스 변수 (http://cloudstudying.kr/lectures/199) + JVM PergmGen - Where art thou? (https://www.javacodegeeks.com/2014/09/jvm-permgen-where-art-thou.html)
공휴일인데 답변을..감사합니다 추석 잘보내세요~~
네 즐거운 연휴 되셔요^^