IT/Programming / / 2023. 4. 26. 13:38

<Effective Java> RULE 47 어떤 라이브러리가 있는지 파악하고, 적절히 활용하라

반응형

 

0부터 시작하는 난수를 만들어라 !

private static final Random rd = new Random();

// 문제가 있는 코드
static int random(int n){
    return Math.abs(rnd.nextInt()) % n;
}
 

문제점

· n이 그리 크지 않아 2의 제곱수일 경우 중복된 난수들이 만들어 낼 것

· n이 제곱수가 아닐 경우 어떤 수는 다른 수보다 평균적으로 더 자주 등장할 것

· 지정된 구간 밖에 있는 난수를 반환하는 치명적 오류가 발생할 수 있다.

 

따라서 해결하기 위해서는 가상난수 생성기, 수 이론, 2의 보수 연산에 대해 알아야한다.

 

하지만 릴리즈 1.2부터 Random.nextInt(int)가 포함되었다.

 

라이브러리 사용의 장점

· 그 라이브러리를 개발한 전문가의 지식 뿐만 아니라 라이브러리를 사용한 사람들의 경험을 활용할 수 있다.

· 실제로 하려는 일에 집중할 수 있다. 다른 구현을 위해 시간을 낭비할 필요가 없다.

· 별다는 노력을 하지 않아도 그 성능이 점차 좋아진다.

· 표준 라이브러리를 사용하면 주류(mainstream) 개발자들과 같은 코드를 만들게 된다.

  ㄴ 가독성이 높고, 유지보수가 쉬우며, 다른개발자들이 재사용하기 편하다.

 

라이브러리를 사용할때 주의점

· 중요한 새 릴리즈가 나올 때마다 많은 기능이 새로 추가되는데, 그 때마다 어떤 것들이 추가되었는지 알아두어야 한다.

· java 프로그래머라면 java.lang, java.util 안에 있는 내용은 알고 있어야 하며 java.io의 내용도 어느정도 알고 있어야한다.

 

결론

바퀴를 다시 발명하지 말라.

 

반응형
  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유