csv파일으로 더미데이터 생성하기
·
Java & Spring/Java
- build.gradleimplementation 'com.opencsv:opencsv:5.6' - 전체 코드package com.play.hiclear.domain.gym.service;import com.opencsv.CSVReader;import com.opencsv.exceptions.CsvValidationException;import com.play.hiclear.common.enums.Ranks;import com.play.hiclear.domain.gym.entity.Gym;import com.play.hiclear.domain.gym.enums.GymType;import com.play.hiclear.domain.gym.repository.GymRepository;import com.p..
18일차 - Java강의(쓰레드 명령어)
·
Java & Spring/Java
◇ 쓰레드 상태쓰레드 상태 : 실행과 대기를 반복하며 run()메서드를 수행, 메서드가 종료되면 실행을 멈춤일시정지 : 일시정지는 쓰레드가 실행 할 수 없는 상태, 다시 실행하기 위해서는 다시 실행대기로 넘어가야함쓰레드 상태 정리상태Enum설명객체생성NEW쓰레드 객체 생성, start()메서드 호출 전실행대기RUNNABLE실행 상태로 언제든지 갈 수 있는 상태일시정지WAITING다른 쓰레드가 notify할 때까지 기다리는 상태일시정지TIMED_WATING주어진 시간동안 기다리는 상태일시정지BLOCKED사용하고자 하는 객체의 Lock이 풀릴 때까지 기다리는 상태종료TERMINATED쓰레드 작업이 종료된 상태◇ 쓰레드 제어  sleep() : 현재 쓰레드를 지정된 시간동안 멈추게 한다.※sleep()는 쓰레..
14일차 - Java강의(쓰레드)
·
Java & Spring/Java
◇ 프로세스와 쓰레드의 개념프로세스 : 운영체제로부터 자원을 할당받는 작업의 단위프로세스의 구조 : Code와 Data그리고 메모리 영역(Stack, Heap)으로 구성Code : main메소와 같은 코드Data : 프로그램이 실행 중 저장 할 수 있는 저장공간Memory : Stack(지역변수, 매개변수, 리턴변수), Heap(동적으로 필요한 변수)를 저장쓰레드 : 프로세스가 할당받은 자원을 이용하는 실행의 단위작업중인 프로그램에서 실행요청이 들어오면 생성명령처리를 위한 메모리공간(Stack)도 할당받음◇ 쓰레드싱글 쓰레드 : 프로세스 안에서 하나의 쓰레드만 실행되는 것멀티 쓰레드 : 프로세스 안에서 여러개의 쓰레드가 실행되는 것멀티 쓰레드의 장점동시 작업으로 성능이 좋아진다.스택을 제외한 모든 영역에..
13일차 - Java강의(예외, 제네릭)
·
Java & Spring/Java
◇ 오류와 예외오류(Error) : 일반적으로 회복이 불가능한 문제예외(Exception) : 일반적으로 회복이 가능한 문제- 예외의 종류코드 실행 관점에서 예외의 종류컴파일 에러 : .java파일을 .class파일로 컴파일 할 때 발생, 보통 문법오류런타임 에러 : 실행도중 맞닥뜨리는 예외예외 처리 관점에서 예외의 종류확인된 예외(Checked Exception)컴파일 시점에서 확인반드시 예외 처리를 해줘야함미확인된 예외(UnChecked Exception)런타임 시점에서 확인예외 처리가 반드시 필요하지는 않음◇ 예외 발생과 try-catch, finally문예외 처리 흐름예외 정의하기클래스, 메서드를 만들려 예외 위험 알리기(throw, throws)위험한 메서드 사용 시 예외를 handling하기-..
11일차 - Java강의(계산기 실습, 클래스화, 추상화)
·
Java & Spring/Java
◇ 코드 구현- Step 1 : 기본적인 사칙연산 계산기import java.util.Scanner;public class Calculate { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String op = sc.next(); int a = sc.nextInt(); int b = sc.nextInt(); System.out.println(calculate(op, a, b)); } public static double calculate(String operator, int firstNumber, int secondNumber) { ..
10일차 - Java강의(제어자, package, import, 상속, this, super)
·
Java & Spring/Java
◇ 제어자변수, 메서드의 선언부에 사용되어 부가적인 의미를 부여접근 제어자 : public, protected, default, private멤버 또는 클래스에 사용, 외부에서 접근하지 못하도록 제한지정되지 않았다면 default그  외 제어자 : static, final, abstract사용 가능한 접근 제어자 클래스 : public, default메서드 & 멤버 변수 : public, protected, default, private지역변수 : 사용불가능 Getter와 Setter Getter : 외부에서 객체의 private한 필드를 읽을 필요가 있을 때 사용※ 메서드 이름의 규칙은 get + 필드 이름(첫 글자 대문자)private double speed; // 자동차 속도 , km/hpr..
9일차 - Java강의(클래스, 필드, 생성자, 멤버, this)
·
Java & Spring/Java
◇ 클래스(Class) 설계만들려고 하는 설계도를 선언(클래스 선언)객체가 가지고 있어야 할 속성(필드) 정의객체가 생성하는 방식을 정의(생성자) : 처음 객체가 생성 될 때(instance화) 어떤 로직을 수행해야 하며,                                                               어떤 값이 필수로 들어와야 하는지 정의객체가 가지고 잇어야 할 행위(메서드)정의◇ 필드외부 접근Car car = new Car(); → 객체 생성car.color = "blue"; → 내부 필드 접근내부 접근double brakePedal() { speed = 0; return speed;}필드의 사용- 초기화public classs Car { String m..
8일차 - Java강의(객체지향 ☆)
·
Java & Spring/Java
◇ 클래스- 객체란?객체는 세상에 존재하는 물체를 뜻하며 식별이 가능한 것을 의미객체는 속성과 행위로 구성Java에서는 이러한 속성과 행위를 필드와 메서드로 정의하여 구현※ 이처럼 현실 세계에 있는 객체를 소프트웨어의 객체로 설계하는 것을 ‘객체 모델링’이라함- 객체 간의 관계사용관계 : '사람 객체'가 '자동차 객체' 를 사용포함관계 : '엔진 객체', '타이어 객체', '핸들 객체'는 '자동차 객체'에 포함상속관계 : '자동차 객체'는 '기계 객체'를 상속받음- 객체지향 프로그래밍의 특징캡슐화필드와 메서드를 하나로 묶어 객체로 만든 후 실제 내부 구현 내용은 외부에서 알 수 없게 감추는 것외부 객체에서는 캡슐화 된 객체의 내부 구조를 알 수 없기 때문에 노출시켜준 필드 혹은 메서드를 통해접근할 수 있..
enhanced switch()문
·
Java & Spring/Java
- 기존 swich문switch (value) { case 1: System.out.println("One"); break; case 2: System.out.println("Two"); break; default: System.out.println("Default");} - enhanced swicth문switch (value) { case 1 -> System.out.println("One"); case 2 -> System.out.println("Two"); default -> System.out.println("Default");} ※ enhanced swich문은 단일 표현식만 사용가능
7일차 - Java강의(연산자, 조건문, 반복문, 배열, 컬렉션)
·
Java & Spring/Java
◇ 연산자https://djhelloworld.tistory.com/24 생활코딩 - Java(연산자)1. 산술연산자 + 더하기 - 빼기 * 곱하기 / 나누기 % 나머지 3번의 경우 a형태가 int이므로 float 형식으로 자동 형변환 실시 후 연산 2. 단항연산자 1+2에서 사용한 연산자 +는 이항(二두이 項항목항, indjhelloworld.tistory.com증감연산자[++, --]int a = 10;int b = 10;int val = ++a + b--;위 코드에서 int val = ++a + b--; 는 다음과 같이 진행된다.형변환연산자[ (type) ]double doubleNumber = (double) 93 + 98.8; // 93.0 + 98.8삼항연산자[ a 조건 b ? true : f..