본문 바로가기

Java/[패스트캠퍼스] 100% 환급 챌린지

패스트캠퍼스 환급챌린지 51일차 미션 (3월 22일) : 시그니처 백엔드 Path 초격차 패키지 Online. 강의 후기

https://fastcampus.co.kr/dev_online_besignature
수강 강의명

강의 내용

[1] Java에서 제공하는 클래스
[2] 다운 받아 사용하는 클래스

 

[1] Java에서 제공하는 클래스

Random(java.util)

주어진 범위 내에서 난수를 생성하는 클래스
# 난수(Random number) : 예측이 불가능한 무작위의 수

nextInt(45) : 0 이상 45 미만의 난수를 반환(0~44 : 45개)
nextInt(45) + 1 : 1부터 45 사이의 난수를 반환
nextInt(10) : 0 이상 10 미만의 난수를 반환
nextInt(100) : 0 이상 100 미만의 난수를 반환

 
난수 6개를 뽑아 배열에 저장하는 프로그램(중복X)
이중 for 반복문을 사용하여 배열에 중복되지 않는 값만 저장한다.
(1) 반복문을 통해 난수를 생성
(2) 이전 인덱스들과 비교하여 중복된 값인지 확인(배열에 넣기 전 중복 검사)
      [i = 2] : 반복문을 이용하여 [0], [1]에 저장된 원소들을 비교(두 번 비교)
                     넣을 숫자가 이미 배열에 존재하면 다른 숫자를 뽑아야 함
                     넣을 숫자가 배열에 없으면 뽑은 숫자를 배열에 넣음
(3) 중복된 값이 아니면 배열에 추가

Q. Random 클래스를 이용하여 6개의 난수를 생성한 다음 중복되지 않게 배열에 저장하는 방법
# i : 난수를 저장하는 배열의 위치
# j : 난수가 배열 안의 요소와 중복되는지 검색(j=0부터 i보다 작을 때 까지)
public class RandomAPITest {
    public static void main(String[] args) {
        Random rand = new Random();
        int[] arr = new int[6];

        int i = 0;  // 저장 위치(pos)

        while (i < 6) {
            int num = rand.nextInt(45) + 1;  // 임의의 수(1~45)를 뽑아내는 역할
            boolean isDuplicate = false;  // 중복 여부 확인

            // 배열의 이전 인덱스들과 비교하여 중복되는지 확인
            for (int j = 0; j < i; j++) {
                if (arr[j] == num) {
                    isDuplicate = true;
                    break;
                }
            }

            // 중복되지 않으면 배열에 추가
            if (!isDuplicate) {
                arr[i++] = num;
            }
        }

        for (int num : arr) {
            System.out.print(num + " ");
        }
    }
}

 

[2] 다운 받아 사용하는 클래스

자바 API를 다운로드 받는 사이트

필요한 API를 검색하여 다운로드 받아 사용하면 된다.
# mvn : Maven 도구의 약자
# repository : API가 모여있는 저장소
# Maven : 자바 프로젝트를 관리하는 도구(API를 쉽게 관리)
https://mvnrepository.com/
 

Gson

구글에서 만든 자바 객체를 JSON 형식으로 변환하거나, JSON 데이터를 자바 객체로 변환하는 라이브러리(API)
(1) 객체 → JSON : 객체가 갖는 값을 JSON 형태로 변환(자동)
(2) JSON 객체 : JSON 형태의 값을 객체로 변환(자동)

# 객체 : 일반적으로 VO를 의미
 

JSON(JavaScript Object Notation)

경량의 데이터 교환 형식
프로그래밍 언어나 플랫폼에 상관없이 데이터를 교환할 수 있도록 설계된 데이터 포맷
키-값 쌍(key-value pair)으로 이루어진 데이터 객체를 표현

 

jar 파일 다운로드(직접 다운로드)

API를 다운로드 받아 사용하는 가장 기본적인 방법
# jar : 여러개의 클래스들을 하나로 압축하여 API로 배포할 때 만드는 파일

# Usages : 사용 빈도
https://mvnrepository.com/artifact/com.google.code.gson/gson/2.8.9

jar 파일 다운로드(1)
jar 파일 다운로드(1)
jar 파일 다운로드(2)
jar 파일 다운로드(2)

 

jar 파일을 프로젝트에 연결하는 방법

다운로드 받은 API를 사용하려면 자바 프로젝트에 연결해야 함

File → Project Structure → Libraries → + → Java → API 파일 선택 → OK → OK

jar 파일을 프로젝트에 연결하는 방법(1)
jar 파일을 프로젝트에 연결하는 방법(1)
jar 파일을 프로젝트에 연결하는 방법(2)
jar 파일을 프로젝트에 연결하는 방법(2)

Q. Gson API를 이용하여 객체를 다루는 방법
(1) 자바 객체를 JSON으로 변환하는 방법
       Gson toJson() : 객체를 JSON 형식의 문자열로 변환하는 기능
public class GsonToAPITest {
    public static void main(String[] args) {
        Person person = new Person("John", 30);
        Gson gson = new Gson();
        String json = gson.toJson(person);
        System.out.println(json);  // JSON : {"name":"John","age":30}
    }
}

(2) JSON을 자바 객체로 변환하는 방법
      Gson fromJson() : JSON 문자열을 자바 객체로 변환하는 기능
public class GsonFromAPITest {
    public static void main(String[] args) {
        String json = "{\"name\":\"John\",\"age\":30}";  // \" : 문자열의 묶음이 아닌 기호로 작동
        Gson gson = new Gson();
        Person person = gson.fromJson(json, Person.class);
        System.out.println(person);  // Person{name='John', age=30}
    }
}

 


 

수강 화면수강 화면
수강 화면

 
본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다.
https://bit.ly/48sS29N

 

패스트캠퍼스 [직장인 실무교육]

프로그래밍, 영상편집, UX/UI, 마케팅, 데이터 분석, 엑셀강의, The RED, 국비지원, 기업교육, 서비스 제공.

fastcampus.co.kr