Programming Language/java 15

[whiteship_java_study]4주차. 제어문

목표 자바가 제공하는 제어문을 학습하세요. 제어문 대부분의 코드는 위에서 아래 순으로 읽고 실행된다. 자바 또한 동일하게 동작한다. 필요에 따라 코드를 반복하거나 건너뛰는 등의 순서를 변경하는 일이 발생한다. 이 때, 제어문을 사용하여 코드 실행 흐름을 제어할 수 있다 제어문은 선택문, 반복문, 분기문 으로 나누어져있다. 선택문 if문 기본적인 제어문으로, 조건에 만족할 경우 조건문 내의 코드({})가 실행된다. if (조건문) { 조건이 참일 경우 실행되는 코드 } if-else문 if문이 참(true)만을 실행한다면, if에 부합하지 못하는 조건에도 실행하는 코드를 작성할 수 있다. 또한, 조건을 여러개로 나눌 수 있다. if (조건문){ 조건이 참일 경우 실행되는 코드 } else if (조건문) ..

[whiteship_java_study]3주차. 연산자

목표 자바가 제공하는 다양한 연산자를 학습하세요. 학습내용 산술 연산자 비트 연산자 관계 연산자 논리 연산자 instanceof assignment(=) operator 화살표(->) 연산자 3항 연산자 연산자 우선 순위 (optional) Java 13. switch 연산자 연산자(operator) 자바에서는 여러 종류의 연산을 수행하기 위한 다양한 연산자를 제공하고 있다. 산술 연산자(arithmetic operator) 산술 연산자는 사칙연산을 다루는 연산자로, 가장 기본적이면서도 가장 많이 사용되는 연산자이다. 산술 연산자는 모두 두 개의 피연산자를 가지는 이항 연산자이며, 피연산자들의 결합 방향은 왼쪽에서 오른쪽이다. ex) +, -, *, /, % 비트 연산자(bitwise operator) ..

[whiteship_java_study]2주차. 자바 데이터 타입, 변수 그리고 배열

목표 자바의 프리미티브 타입, 변수 그리고 배열을 사용하는 방법을 익힙니다. 학습내용 프리미티브 타입 종류와 값의 범위 그리고 기본 값 프리미티브 타입과 레퍼런스 타입 리터럴 변수 선언 및 초기화하는 방법 변수의 스코프와 라이프타임 타입 변환, 캐스팅 그리고 타입 프로모션 1차 및 2차 배열 선언하기 타입 추론, var 프리미티브 타입 종류와 값의 범위 그리고 기본 값 프리미티브 타입(Primitive type, 기본형 타입) 자바에서는 총 8가지의 기본형 타입(Primitive type)을 정의하여 제공한다. 기본값이 있기때문에 Null이 존재하지 않는다. Null을 넣은 기본형 타입이 필요하다면 참조 클래스(reffer class)를 황용해야한다. 실제 값을 저장하는 공간은 스택(Stack)메모리에 ..

[whiteship_java_study]1주차. 자바 소스파일(.java)을 JVM으로 실행하는 과정 이해

목표 자바 소스파일(.java)을 JVM으로 실행하는 과정 이해 학습내용 JVM이란 무엇인가 JVM 구성 요소 컴파일 하는 방법 실행하는 방법 바이트코드란 무엇인가 JIT 컴파일러란 무엇이며 어떻게 동작하는지 JDK와 JRE의 차이 JVM이란 무엇인가 JVM(Java Virtual Machine) 자바 프로그램의 실행하기 위해 물리적 머신과 유사한 머신을 소프트웨어로 구현한 것이다. 1. OS와의 중계자 OS에 상관없이 사용자가 자바를 사용할 수 있는 환경을 만들어준다. 2. 메모리관리 Garbage collection(GC)를 수행한다. 3. 스택기반의 가상머신 JVM 구성요소 JVM은 크게 Class Loader,GC, Runtime Data Area, Excute engine 세가지로 나뉜다 자바 ..

자바 프로그래밍 언어용 유닛 테스트 프레임워크 JUnit5

JUnit JUnit은 자바 프로그래밍 언어용 유닉 테스트 프레임 워크이다. 현재 5까지 있으며, junit 4를 지원하고있다. spring boot를 starter로 진행할 경우, spring-boot-starter-test를 확인할 수 있다. 여기에는 테스트를 위한 기본적인 프레임워크/라이브러리들이 포함 되어 있다. 그중에 JUnit도 있다. 대표적인 spring boot starter test 내용 JUnit4/5 : Java에서 독립된 단위테스트를 지원해주는 프레임워크 AssertJ : assertion을 제공하는 자바 라이브러리로써, 에러 메시지와 테스트 코드의 가독성을 높임 Hamcrest : match 규칙을 선언적으로 정의할 수 있는 matcher 객체를 작성하기 위한 프레임워크 Mocki..