전체 글
-
Java 항해일지 11. Enum공부일기/자바 스터디 2021. 1. 26. 15:42
목표 자바의 열거형에 대해 학습하세요. 학습할 것 (필수) enum 정의하는 방법 enum이 제공하는 메소드 (values()와 valueOf()) java.lang.Enum EnumSet enum이란? enum은 열거형(enumerated type)이라고 부른다. 열거형은 서로 연관된 상수들의 집합이라고 할 수 있다. 열거형은 연관된 값들을 저장하며, 저장된 값들이 변경되지 않도록 보장한다. 또한 enum의 경우 열거형 그 자체이면서 클래스이기 때문에 enum내부에 생성자나 필드, 메서드를 가질 수 있어 다양한 역할을 할 수 있다. 상수 목록이 필요해 상수목록만 적어놓은 class를 활용한 적이 있는데, 이런 사용은 자제하고 enum을 활용할 수 있다. enum 정의하는 방법 1. 별도의 java 파일..
-
Java 항해일지 10. 멀티스레드 프로그래밍공부일기/자바 스터디 2021. 1. 24. 19:32
목표 자바의 멀티스레드 프로그래밍에 대해 학습하세요. 학습할 것 (필수) Thread 클래스와 Runnable 인터페이스 스레드의 상태 스레드의 우선순위 Main 스레드 동기화 데드락 프로세스와 스레드 프로세스의 사전적 정의는 일의 과정이나 공정이며, 위키백과를 통해 얻은 의미는 다음과 같다. 프로세스는 컴퓨터에서 연속적으로 실행되고 있는 컴퓨터 프로그램을 말한다. 종종 스케줄링의 대상이 되는 작업이라는 용어와 거의 같은 의미로 쓰인다. 여러 개의 프로세서를 사용하는 것을 멀티프로세싱이라고 하며 같은 시간에 여러 개의 프로그램을 띄우는 시분할 방식을 멀티태스킹이라고 한다. 그렇다면 스레드란 무엇일까. 마찬가지로 위키백과를 통해 얻은 의미는 아래와 같다. 스레드는 어떠한 프로그램 내에서, 특히 프로세스 내..
-
Java 항해일지 - 9. 예외 처리공부일기/자바 스터디 2021. 1. 17. 19:57
목표 자바의 예외 처리에 대해 학습하세요. 학습할 것 (필수) 자바에서 예외 처리 방법 (try, catch, throw, throws, finally) 자바가 제공하는 예외 계층 구조 Exception과 Error의 차이는? RuntimeException과 RE가 아닌 것의 차이는? 커스텀한 예외 만드는 방법 프로그램을 사용하다가 프로그램이 비정상적으로 종료되는 결과를 초래하는 원인을 프로그램 에러(Error) 또는 오류라고 한다. 에러는 크게 컴파일 에러와 런타임 에러로 구분할 수 있다. 컴파일 에러는 기본적으로 자바 컴파일러가 문법 검사를 통해서 오류를 잡아내 준다. 우리는 컴파일러가 알려주는 오류를 수정하면 성공적으로 컴파일을 해서 프로그램을 실행할 수 있다. 그러나 컴파일이 문제없이 되더라도 실..
-
Java 항해일지 - 8. 인터페이스공부일기/자바 스터디 2021. 1. 8. 19:01
목표 자바의 인터페이스에 대해 학습하세요. 학습할 것 (필수) 인터페이스 정의하는 방법 인터페이스 구현하는 방법 인터페이스 레퍼런스를 통해 구현체를 사용하는 방법 인터페이스 상속 인터페이스의 기본 메소드 (Default Method), 자바 8 인터페이스의 static 메소드, 자바 8 인터페이스의 private 메소드, 자바 9 인터페이스란? 인터페이스는 일종의 추상 클래스이다. 추상클래스처럼 추상메서드를 갖지만 추상 클래스보다 추상화 정도가 높아 오직 추상메서드와 상수만을 멤버로 가질 수 있으며, 그 외의 다른 어떠한 요소도 허용하지 않는다. 추상클래스를 '미완성 설계도'에 비유한다면, 인터페이스는 밑그림만 그려진 '기본 설계도'에 비유할 수 있다. 추상클래스와 마찬가지로 불완전하기 때문에 그 자체로..
-
웹 백엔드 - 1. SQL & JDBC 프로그래밍(2)공부일기/부스트코스 2021. 1. 2. 15:21
INSERT문 기본 문형 insert into 테이블명(필드1, 필드2, 필드3, 필드4 ...) values (필드1의 값, 필드2의 값, 필드3의 값, 필드4의 값 ...) insert into 테이블명 values (필드1의 값, 필드2의 값, 필드3의 값, 필드4의 값 ...) 필드명을 지정해주는 방식은 디폴트 값이 세팅되는 필드는 생략할 수 있다. 필드명을 지정해주는 방식은 추후, 필드가 추가/변경/수정되는 변경에 유연하게 대처 가능하다. 필드명을 생략했을 경우에는 모든 필드 값을 반드시 입력해야 한다. 컬럼명을 나열해 원하는 컬럼에 값 입력이 가능하지만, NOTNULL조건이나 PRIMARY키를 가진 컬럼의 경우 반드시 컬럼을 나열해 값을 입력해야한다. 예) role 테이블에 role_id는 2..
-
웹 백엔드 - 1. SQL & JDBC 프로그래밍(1)공부일기/부스트코스 2021. 1. 1. 22:15
데이터베이스란? 데이터의 집합 여러 프로그램들의 통합된 정보를 저장하여 운영할 수 있는 공용 데이터의 집합 효율적으로 저장, 검색, 갱신할 수 잇도록 데이터 집합들끼리 연관시키고 조직화 되어야 한다. 데이터 베이스의 특성 실시간 접근이 가능해 사용자의 요구를 즉시처리할 수 있다. 정확한 값을 유지하기 위해 삽입, 삭제, 수정 작업 등을 이용하여 데이터를 지속적으로 갱신한다. 동시에 여러 사람이 동일한 테이터에 접근하고 이용할 수 있다. 사용자가 요구하는 데이터의 내용인 데이터의 값에 따라 참조할 수 있어야 한다. 데이터베이스 관리 시스템(Database Management System = DBMS) 데이터베이스를 관리하는 소프트웨어 필수 3기능 - 정의기능 : 데이터베이스의 논리적, 물리적 구조를 정의 ..
-
Java 항해일지 - 7. 패키지공부일기/자바 스터디 2020. 12. 28. 17:07
목표 자바의 패키지에 대해 학습하세요. 학습할 것 (필수) package 키워드 import 키워드 접근제어자 클래스패스 CLASSPATH 환경변수 -classpath 옵션 패키지(package) 클래스의 묶음 클래스 또는 인터페이스를 포함할 수 있고, 서로 관련된 클래스들끼리 그룹 단위로 묶어 클래스를 효율적으로 관리할 수 있다. 클래스의 실제 이름은 패키지명을 포함한 것이다. 예를들어 ArrayList클래스의 경우 실제 이름은 java.util.ArrayList이다. 한 패키지에 속한 클래스는 해당 디렉토리에 존재하는 class파일이어야 한다. 패키지도 다른 패키지를 포함할 수 있으다. 이 경우 '.' 으로 구분한다. 위의 조건들을 예를 들어 설명하면, java.util.ArrayList 클래스는 물..
-
Java 8 - 8. 애노테이션의 변화공부일기/Java 8 2020. 12. 26. 13:57
애노테이션 관련 변화 자바 8부터 애노테이션을 타입 선언부에도 사용할 수 있게 됨. 자바 8부터 애노테이션을 중복해서 사용할 수 있게 됨. 타입 선언 부 제네릭 타입 변수 타입 매개변수 타입 예외 타입 ... 타입에 사용할 수 있으려면 TYPE_PARAMETER: 타입 변수에만 사용할 수 있다. TYPE_USE: 타입 변수를 포함해서 모든 타입 선언부에 사용할 수 있다. import java.util.Arrays; import java.util.List; public class App { public static void main(@Chicken String[] args) throws @Chicken RuntimeException { List names = Arrays.asList("Something")..