JAVA101

준비중..

JAVA101

자바 프로그래밍 입문

14 자바 API

# 자바 API ## 들어가며 --- 이전 시간 우리는 접근 제한자에 대한 내용을 배웠습니다. ![클라우드스터딩-자바-접근제한자-public-private](https://i.imgur.com/X5n3Gda.png) 이번 시간에는 자바 API에 대해 알아보도록 할까요? ## 목차 --- 1. 자바 API란 2. 패키지란 3. 자바 API 사용법 ## 1. 자바 API란 --- 자바 API란, *미리 만들어진 도구*들(클래스 등…)입니다. ![클라우드스터딩-자바-API](https://i.imgur.com/R7Pt8zI.png) 우리는 못을 박을 때 망치를 사용합니다. 또 땅을 팔 때, 삽이나 굴삭기를 사용하기도 하죠. 이렇게 어떤 작업에 특화된 도구는 일의 효율성을 높혀줍니다. 프로그래밍 또한 마찬가지로, 특정 상황에 적용될 수 있는 *미리 만들어진 클래스*들이 있습니다. 이를 자바 API라고 합니다. ## 2. 패키지란 --- 자바 API를 배우기에 앞서 우리는 패키지(package)에 대한 내용을 알아야 합니다. 왜냐하면, 자바 API가 패키지의 형태로 제공되기 때문이죠. #### 정의 패키지란 꾸러미 또는 소포라는 단어의 뜻 그대로, 소스코드를 묶어 관리할 수 있게 하는 *일종의 폴더*(디렉토리)입니다. ![클라우드스터딩-자바-패키지](https://i.imgur.com/r8LDXFo.png) #### 필요성 이러한 패키지는 왜 필요할까요? 패키지는 관련 있는 코드를 한데 모으기 위해(**그룹화**) 또는 이름은 같지만, 용도가 다른 것들을 **구분**짓기 위해 사용합니다. ``` # 그룹화 예 + apple - iPhone.java - MacBook.java - iPad.java # 구분 예 + Music - Sonata.java + Sonata - Sonata.java ``` 패키지에 대한 개념도 배웠으니, 이제 자바 API를 사용하는 법을 알아보도록 하죠. ## 3. 자바 API 사용법 --- 우리는 앞서 난수 생성을 위해 `Math.random()` 메소드를 사용해왔습니다. 이번에는 자바 API를 사용하여 난수 생성을 해볼 텐데요. 이를 위해 제공되는 Random 클래스를 사용해보겠습니다. 해당 클래스는 `java.util`이라는 패키지에 존재하며, 해당 클래스에 대한 설명은 아래의 링크를 통해 확인할 수 있습니다. - https://docs.oracle.com/javase/8/docs/api/java/util/Random.html 해당 문서에는 생성자와 메소드에 대한 설명들이 나와 있습니다. 먼저 객체 생성은 아래와 같이 만들 수 있겠네요. ![클라우드스터딩-자바-Random-생성자-Constructor](https://i.imgur.com/3iA3QKb.png) 다음으로 0 이상 N 미만의 임의의 정수를 생성하기 위해, 아래와 같은 메소드를 사용해 볼 수 있겠습니다. ![클라우드스터딩-자바-Random-메소드-nextInt](https://i.imgur.com/fZYE64X.png) 위 내용을 활용하여 N면체 주사위 클래스를 작성해볼까요? 아래 코드를 참고하면 되겠습니다. ``` import java.util.Random; // java.util 패키지에서 Random 클래스를 가져옴 public class Dice { // 필드 private int N; // N 면체 주사위 private Random rand; // Random 객체를 가리킬 변수 // 생성자 public Dice(int N) { this.N = N; this.rand = new Random(); // 랜덤 객체 생성 } // 메소드 public int roll() { return rand.nextInt(N) + 1; // 1부터 N사이 임의의 정수 반환 } } ``` 자바는 Random 클래스와 같은 다양한 API를 제공하는데요. 실습을 통해 더 다양한 도구들을 활용해보도록 하겠습니다. ## 요약 --- #### 자바 API란 - 자바 API란 미리 만들어진 도구(클래스)이다. - 자바 API는 패키지를 통해 제공된다. #### 패키지 - 패키지란, 소스코드를 담는 디렉토리이다. - 패키지는 관련 코드를 묶거나, 같은 이름의 코드를 구분하기 위해 사용한다. #### 자바 API 사용법 - 자바 API 사용법은 문서를 통해 확인할 수 있다. - Random 클래스는 java.util 패키지에 있다. - Random 클래스는 아래와 같이 사용할 수 있다. ``` // API 불러오기 import java.util.Random; // 객체 생성 Random random = new Random(); // [0:N) 사이의 임의의 정수 생성 int N = 10; int randNum = random.nextInt(N); // 0~9 사이의 정수 ``` ## 확인하기 --- <div class="interact_responsive_padding" style="padding:100% 0 0 0;position:relative;margin-bottom:5px;"><div class="interact_responsive_wrapper" style="height:100%;left:0;position:absolute;top:0;width:100%;"><iframe id="interactApp5cff607ca4bf9e00145ac117" width="100%" height="100%" style="border:none;max-width:100%;margin:0;" allowTransparency="true" frameborder="0" src="https://quiz.tryinteract.com/#/5cff607ca4bf9e00145ac117/q/1?method=iframe"></iframe></div></div>