자바, 객체지향!

자바, 객체지향!

자바 프로그래밍의 꽃, 조립식 프로그래밍!

연습문제 E - 자바 API

# 연습문제 E - 자바 API ## 13 접근 제한자와 게터 세터 --- ### 이론 요약 ![클라우드스터딩-접근제한자-게터-세터-요약](https://i.imgur.com/lH6c84w.png) #### 접근 제한자 - 접근 제한자란, 외부로부터 접근을 제어하는 키워드이다. - 접근 제한자의 종류는 4가지로, private/default/protected/public 이 있다. - private은 비공개, public은 완전 공개를 의미한다. #### 게터와 세터 - private 필드는 외부 접근이 불가능하다 - 게터를 사용하면 private 필드를 우회적으로 가져올 수 있다. - 세터를 사용하면 private 필드를 우회적으로 변경할 수 있다. ### 실습 리뷰 private 선언된 인스턴스 변수. 이를 게터와 세터로 다루는 방법. ``` public class KnightTest { public static void main(String[] args) { // 객체 생성 Knight knight1 = new Knight("돈키호테", 30); // 정보 출력 System.out.println("[객체 생성]"); System.out.printf("\t%s\n", knight1.toString()); // 체력 증가: 기존 체력 + 30 knight1.setHp(knight1.getHp() + 30); // 결과 출력 System.out.println("[체력 증가 +30]"); System.out.printf("\t%s\n", knight1.toString()); } } class Knight { // 필드 private String name; private int hp; // 생성자 public Knight(String name, int hp) { this.name = name; this.hp = hp; } // 게터 public int getHp() { return this.hp; } // 세터 public void setHp(int hp) { this.hp = hp; } // toString public String toString() { return String.format("Knight { name: %s, hp: %d }", this.name, this.hp); } } ``` ## 14 자바 API --- ### 이론 요약 ![클라우드스터딩-자바-API-요약](https://i.imgur.com/To9S18W.png) #### 자바 API란 - 자바 API란 미리 만들어진 도구(클래스)이다. - 자바 API는 패키지를 통해 제공된다. #### 패키지 - 패키지란, 소스코드를 담는 디렉터리이다. - 패키지는 관련 코드를 묶거나, 같은 이름의 코드를 구분하기 위해 사용한다. #### 자바 API 사용 예 - 자바 API 문서 또는 구글링을 통해 API를 검색한다. - 학습 시 많이 사용하는 API로 Math, Random, ArrayList 등이 있다. ### 실습 리뷰 로또 번호 생성하기 ``` import java.util.Collections; import java.util.Arrays; import java.util.ArrayList; public class SimpleLottoMachine { public static void main(String[] args) { // 45개의 공을 만든다 ArrayList<Integer> numbers = new ArrayList<Integer>(); for (int i = 1; i <= 45; i++) { numbers.add(i); // 1 ~ 45 } // 섞는다 Collections.shuffle(numbers); // 뽑는다 int[] picked = new int[6]; for (int i = 0; i < 6; i++) { // numbers의 앞 6개 숫자를 가져옴! picked[i] = numbers.get(i); } // 결과 출력 System.out.printf("자동 생성 번호: %s", Arrays.toString(picked)); } } ``` ## 확인하기 --- <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="interactApp5d08717ccec9cd00147ca2a7" width="100%" height="100%" style="border:none;max-width:100%;margin:0;" allowTransparency="true" frameborder="0" src="https://quiz.tryinteract.com/#/5d08717ccec9cd00147ca2a7/q/1?method=iframe"></iframe></div></div> ## 도서구매 <a href="http://www.yes24.com/Product/Goods/104740689"><img src="http://image.yes24.com/goods/104740689/XL" width="50%" /></a>

Challenge

개념 실습! 학습 내용을 진짜 내 것으로 만들기!