Examples
1) Math.random()
1 | public class Example_01 { |
Math
클래스의 random()
사용법이다. 랜덤으로 수를 반환하는 메서드이다.
Math.random()
은 0부터 1까지의 double
형 랜덤 상수를 추출한다. 여기에 다른 상수를 곱하면 (min) 0은 그대로지만 (max) 1이 상수와 연산되어 랜덤 값의 범위를 조정할 수 있다.
random()
가 실행될 때마다 서로 다른 값을 추출하게 되므로 변수를 선언하여 값을 여러개 생성할 수 있다.
1 | int ran1 = randomInt; // 3 |
2) Math.max()
1 | public class Example_02 extends Example_01 { |
Math
클래스의 max()
사용법이다. argument로 받은 두 수중 어느 수가 더 큰지를 판별할 때 사용하는 메서드이다.
앞서 상속을 배워서 깨알처럼 이용해봤다 ㅋㅋ Example_01
클래스를 상속받아서 rollDice()
를 사용했다. 변수를 선언하여 각각 rollDice()
가 반환하는 값을 저장하고, max()
를 사용하여 두 수중 어느 수가 더 큰 수인지를 비교했다.
Why?
공부하는데에 빠질 수 없는 부분이다.
위에서 소개한 Math.random()
은 Java의 내장 객체 Math
클래스의 random()
를 사용한 것이다. 개발자는 그저 호출하여 사용할 뿐이고, 내부에서 어떤 동작을 하는지 원리에 대해선 알 수 없다. 이를 알기 위해서는 Java API Documentation을 봐야 한다.
그런데 왜 Java API Documentation을 봐야할까?
어떻게 작동되는지 여부를 꼭 알아야 하는 걸까?
몰라도 상관없다면 좋겠지만, Example_01에서 사용한 Math.random()
만 하더라도 이게 int
형을 반환하는지, double
형을 반환하는지 Java API Documentation을 보기 전까지는 알 수 없다. 그래도 이 정도는 친절하신 Eclipse께서 알려주실거다. 그러나 반환값의 범위가 0부터 1인것은 어덯게 알 수 있을까?
마찬가지로 Exmapl_02에서 사용한 Math.max()
역시 Java API Documentation에서 상세하게 설명되어지고 있다. argument로 어떤 값이 들어와야 하고, 그럼 어떤 값이 return되는지.
자바에 있는 모든 개념을 알 수 없기 때문에 필요할 때마다 Java API Documentation을 보는 훈련을 꾸준히 하는 것이 중요할 것 같다. 블로그를 운영하는 목적도 이와 비슷하다. 내 머리는 하드 드라이브처럼 비휘발성 메모리가 아닌 RAM과 같은 휘발성 메모리이기 때문에, 이 블로그를 하드 드라이브로 운영하고, 이 블로그를 다시 찾아봄으로써 필요한 지식을 RAM으로 끌어와서 코딩(CPU)을 할 생각이다.
updated.
트위터에서 좋은 글을 발견해서 남겨본다.
경험 사례를 통해 왜 공식문서를 봐야 하는지를 정리한 포스팅이다.
이소영 - 공식문서에서 시작하기