-
[Java] 공공데이터포털 Open API 파싱, JPACode 2024. 8. 8. 00:02
개발 중에 공공데이터포털 Open API 서비스를 연결해서 사용할 일이 있어서 자료 찾아보고 코드 작성한 김에 정리! 아무래도 개인 프로젝트 하거나 하면 종종 활용할 일이 있지 않을까 싶다. 1. 공공데이터포털에서 필요한 Open API 활용 신청 2. 활용 신청하고 정보 확인API 상세 페이지에서 작동하는 인증키(본인은 웹 페이지 내에서는 Decoding, 개발 환경에서는 Encoding 인증키가 작동했다.) 입력하고 실행하면 결과 json 값을 확인할 수 있다.코드목록의 경우 [참고문서 - 코드 정의서]에서 상세 내용을 확인할 수 있다.3. 자료 활용 본인의 경우에는 다음과 같이 활용하였다. 지금은 수동으로 호출해야 하는 상태긴 한데, 후에 배치 작업을 추가하면 좀 더 편하고 실시간으로 내용을 ..
-
(7주차 45일) 정렬수업 내용 정리 2024. 6. 25. 17:12
알고리즘정렬(SORT)정렬(Sort)는 특정 순서에 따라 주어진 데이터를 나열한 것을 의미한다. > 삽입 정렬(Insertion Sort)데이터의 전체 영역에서 정렬된 영역과 정렬되지 않은 영역으로 나누고 정렬되지 않은 영역의 값을 정렬된 영역의 적절한 위치로 놓으며 정렬한다.시간 복잡도: 최악의 경우 O(N^2)> 버블 정렬(Bubble Sort)인접한 두 개의 원소를 검사하여 정렬하는 방법이다.뒤에서부터 정렬된다.> 병합 정렬(Merge Sort)정렬되지 않은 영역을 쪼개서 각각의 영역을 정렬하고 이를 합치며 정렬하는 방법이다.시간 복잡도: O(nlogN)> 퀵 정렬(Quick Sort)병합 정렬과 마찬가지로 배열을 분할해서 각각 재귀적으로 풀어 합치는 분할 정복법을 따르는 알고리즘이다.내용 차차 추..
-
[Java] 자주 사용되는 Lombok 어노테이션Code 2024. 6. 22. 19:42
Lombok 자바에서 Getter, Setter, toString과 같은 반복 메소드 작성을 최소화하도록 돕는 라이브러리다. 어노테이션을 부여하는 것만으로 게터세터, 생성자 구현 등이 가능하여 데이터 클래스 작성이 수월해진다. 자주 사용하는 어노테이션@Getter, @Setterprivate로 설정된 클래스 혹은 필드 변수를 외부에서 접근 또는 수정 가능하도록 getter, setter를 자동으로 구현한다.@NoArgsConstructor 기본 생성자를 자동으로 구현한다.@AllArgsConstructor 모든 필드에 대해서 초기화 값을 인수로 하는 생성자를 자동으로 구현한다.@RequiredArgsConstructorfinal 필드에 대해서 초기화 값을 인수로 하는 생성자를 자동으로 구현한다.@T..
-
(6주차 37일) IO 스트림수업 내용 정리 2024. 6. 17. 17:34
JavaIO(Input/Output)> 입출력(IO)컴퓨터 내부 또는 외부 장치와 프로그램 간의 데이터를 주고받는 것입력: 키보드, 파일 또는 네트워크로부터 데이터 입력출력: 모니터, 파일 또는 네트워크로 출력> 스트림자바에서 스트림은 입출력 장치에 데이터를 읽고 쓰기 위해서 제공하는 클래스InputStream바이트 기반 입력 스트림의 최상위 클래스로, 추상 클래스이다.그림, 멀티미디어, 문자 등 모든 데이터를 입력받을 수 있다.read() 추상 메소드: 외부 장치로부터 바이트 단위의 데이터를 읽어올 수 있다.close() 추상 메소드: 사용한 시스템 자원 반납 후 입력 스트림을 닫는다. 2. OutputStream바이트 기반 출력 스트림의 최상위 클래스로 추상 클래스이다.그림, 멀티미디어..
-
(5주차 33일) 인터페이스, 예외 처리, 기본 API수업 내용 정리 2024. 6. 13. 17:28
Java인터페이스(Interface)> 인터페이스자바에서 클래스들이 구현해야 하는 동작을 지정하는 역할실행 코드와 객체가 통신하는 접점으로 실행 코드가 인터페이스의 메소드를 호출하면 인터페이스는 객체의 메소드를 호출> 인터페이스 구현선언: [접근 제한자] interface 인터페이스명 { ... }class 키워드 대신 interface 키워드 사용인터페이스는 선언된 필드는 모두 public static final의 특성을 가진다.인터페이스에 선언된 메소드는 모두 public abstract의 특성을 가진다.구현: 클래스 선언부에 implements 키워드를 추가하고 인터페이스명을 명시한다.인터페이스를 구현하는 클래스는 인터페이스에 정의된 추상 메소드를 반드시 오버라이딩 해야 한다.상속과 다르게 인터페이..
-
(5주차 32일) 상속, 다형성, 추상 클래스수업 내용 정리 2024. 6. 12. 17:42
Java상속(Inheritance)> 상속객체 지향 프로그래밍에서 상속은 부모 클래스의 멤버를 자식 클래스에게 물려주는 것부모 클래스: 부모에 해당하는 클래스. 상위, 슈퍼 클래스자식 클래스: 자식에 해당하는 클래스. 하위, 서브 클래스상속을 통해서 다른 클래스가 가지고 있는 멤버를 직접 만들지 않고 상속을 받음으로써 자신의 멤버처럼 사용할 수 있다.선언: [접근 제한자] class 자식클래스명 extends 부모클래스명 { ... }자바는 다중 상속을 지원하지 않는다.모든 클래스는 Object 클래스의 후손이다.부모 클래스에서 private 접근 제한을 갖는 필드와 메소드는 상속에서 제외된다.> 자식 객체 생성생성자는 상속되지 않는다.자식 클래스의 객체를 생성하면 -> 부모 클래스의 생성자가 먼저 호출..
-
(5주차 31일) 접근 제한자, 생성자, 메소드, 정적 멤버, final수업 내용 정리 2024. 6. 11. 17:15
Java접근 제한자자바에서 제공하는 접근 제한자는 public, protect, default, private가 있다. public: 외부에서 자유롭게 접근 가능protected: 같은 패키지 또는 자식 클래스에서만 접근 가능default: 같은 패키지에 소속된 클래스에서만 접근 가능private: 외부에서의 접근을 제한하고 선언된 클래스에서만 접근 가능예시package com.beyond.field;import com.beyond.field.practice.User;public class FieldApplication { public static void main(String[] args) { User user = new User(); /** * 접근 제한자..
-
(5주차 30일) 배열, 클래스, 필드수업 내용 정리 2024. 6. 10. 17:46
Java> 배열(Array)배열은 같은 타입의 데이터를 연속된 공간에 나열시키고, 각 데이터에 인덱스(index)를 부여해 데이터를 읽거나, 데이터를 저장하는 방법을 제공한다.배열 변수의 선언: 변수와 마찬가지로 배열을 사용하기 위해서는 배열 변수를 선언해야 한다.배열 생성 및 초기화- new 연산자로 배열 생성 및 초기화- 값 목록으로 배열 생성 및 초기화배열의 저장 구조배열 변수는 참조 변수이다. 배열 변수는 Stack 영역에 생성된다.new 자료형[배열 크기] 구문을 실행하면 Heap 영역에 배열을 생성하고, 배열의 시작 주소를 반환한다.new 자료형[] {값, 값, 값, ... } 또는 {값, 값, 값, ... } 구문을 실행하면 주어진 값들을 요소로 가지는 배열을 Heap 영역에 생성하고, 배열..
-
(4주차 26일) 제어문 실습(조건문, 반복문, 분기문)수업 내용 정리 2024. 6. 8. 12:17
Java제어문> 조건문: 특정 조건에 따라 코드 실행if문if문if - else문if - else if - else문// ifif(조건식) { // 실행 코드}// if - elseif(조건식) { // 실행 코드} else { // 실행 코드}// if - else if - elseif(조건식) { // 실행 코드} else if(조건식) { // 실행 코드} // else if 문의 수는 제한이 없다.... else { // 실행 코드}switch문switch 문은 조건식의 결과값이(계산식, 변수, 리터럴) 어떤 값(정수, 문자, 문자열)을 갖느냐에 따라 실행문이 선택된다.if문과 달리, 코드를 실행하고 조건문을 빠져나가기 위해 break 문이 필요하다.switch(값..
-
(4주차 24일) Scanner 메소드, 연산자 실습수업 내용 정리 2024. 6. 5. 17:24
Java> Scanner 클래스사용자로부터 입력되는 정수, 실수, 문자열을 처리하는 클래스package com.beyond.variable.practice;import java.util.Scanner;public class C_KeyboardInput { public void inputByScanner() { Scanner scanner = new Scanner(System.in); int age = 0; float height = 0; String name = null; char gender = '\u0000'; System.out.println("당신의 이름은 무엇입니까?"); name = scanner.ne..