카테고리:

업데이트:

1. 들어가기

의외로 우리가 만들려고 하는 기능 중 일부는 이미 라이브러리로 구현되어 있는 경우가 많습니다.

라이브러리를 사용하면 어떤 장점이 있을까요?

2. 라이브러리의 장점

  1. 코드를 작성한 전문가의 지식과 경험들을 활용할 수 있다.

    많은 프로그래머들은 다음과 같이 짤막한 메서드를 만들곤 합니다.

     static Random rnd = new Random();
    
     static int random(int n) {
       return Math.abs(rnd.nextInt()) % n;
     }
    

    하지만 해당 코드는 문제를 세 가지나 내포하고 있습니다.

    • n이 그리 크지 않은 2의 제곱수라면 얼마 지나지 않아 같은 수열이 반복

    • n이 2의 제곱수가 아니라면 몇몇 숫자가 평균적으로 더 자주 반환

    • 종종 지정한 범위 ‘바깥’의 수가 나올 수 있음

    이 결함을 해결하려면 의사난수 생성기, 정수론, 2의 보수 계산 등에 조예가 깊어야 합니다.

    하지만 라이브러리를 사용한다면 코드를 작성한 전문가의 지식과 경험들을 쉽게 활용할 수 있습니다.

    만약, 버그가 발견되더라도 다음 릴리스에서 수정될 것입니다.


  2. 시간을 절약할 수 있다.

    프로그래머들은 애플리케이션 기능 개발에 집중하고 싶어하는 경향이 많은데

    이런 핵심적인 일과 크게 관련 없는 문제를 해결하기 위해 시간을 허비하지 않아도 됩니다.


  3. 따로 노력하지 않아도 성능이 지속해서 개선된다.

    사용자가 많고, 업계 표준 벤치마크를 사용해 라이브러리 제작자들은 꾸준히 더 나은 방법을 모색합니다.


  4. 기능이 점점 많아진다.

    라이브러리에 부족한 부분이 있다면 논의 후, 다음 릴리스에 추가됩니다.


  5. 작성한 코드가 많은 사람에게 낯익은 코드가 된다.

    많은 사람들이 사용하는 라이브러리를 사용한다면 자연스럽게 다른 개발자들이 읽기 좋고,

    유지보수하기 좋으며 재활용하기 쉬운 코드가 됩니다.

3. 라이브러리의 활용

많은 프로그래머들은 좋은 라이브러리를 사용하지 않고 기능을 직접 만들어 사용하고 있습니다.

물론, 기능을 지원하지 않는 경우도 있지만 라이브러리에 그런 기능이 있는지 모를 수도 있기 때문입니다.

그렇다면 우리가 원하는 기능이 라이브러리에 있는지 어떻게 알 수 있을까요?

Java는 메이저 릴리스마다 주목할 만한 수많은 기능이 라이브러리에 추가되는데

이때, 새로운 기능을 설명하는 웹페이지를 공시합니다.

라이브러리가 너무 방대하여 모든 API 문서를 공부하기는 벅차겠지만

적어도 java.lang, java.util, java.io와 그 하위 패키지들에는 익숙해져야 합니다.

4. 라이브러리를 사용할 수 없는 경우

때때로 우리가 원하는 기능을 라이브러리가 충분히 지원하지 않는 경우가 있습니다.

이럴때는 최대한 라이브러리를 사용해보려 시도하고 충분하지 않다면 대안을 사용합시다.

그 대안은 바로 구아바 라이브러리 같은 서드파티 라이브러리입니다.

만약, 서드파티 라이브러리도 충분하지 않다면 직접 구현해야 합니다.

5. 정리

이번 포스트는 라이브러리의 장점과 그 활용에 대해 알아보았습니다.

“바퀴를 다시 발명하지 말자”라는 말처럼 누군가 이미 라이브러리를 구현해놓았을 가능성이 있으므로

품질이 좋고 점차 개선될 가능성이 있는 라이브러리를 사용하여 유지보수하기 좋고 좋은 코드를 만듭시다.

            
              📕 개인 기록용 블로그입니다.
              😊 오타나 잘못된 정보가 있을 경우 댓글이나 메일로 말씀해주시면 바로 수정하겠습니다! 😊
          

댓글남기기