Backend 27

[Java] 클래스

# 클래스 정의하는 방법 객체지향 컨셉으로 아래 샘플로 각각 필드와 생성자, 메소드에 관해서 설명해보겠다. public class Bicycle { // the Bicycle class has // three fields public int cadence; public int gear; public int speed; // the Bicycle class has // one constructor public Bicycle(int startCadence, int startSpeed, int startGear) { gear = startGear; cadence = startCadence; speed = startSpeed; } // the Bicycle class has // four methods publ..

Backend/Java 2021.01.20

[Java] 선택문, 반복문

#선택문 if-then & if-then-else 가장 기본적인 선택문이다. 오직 특정 if조건이 true일때만 해당 if 블럭이 실행된다. void applyBrakes(){ //the "if" clause: bicycle must be moving if(isMoving) //the "then" clause: decrease current speed currentSpeed--; } } void applyBrakes(){ //the "if" clause: bicycle must be moving if(isMoving) //the "then" clause: decrease current speed currentSpeed--; } else{ System.err.println("The bicycle has a..

Backend/Java 2021.01.18

Java 예외 처리 정리

# 목표 자바에서 예외 처리 방법 (try, catch, throw, throws, finally) 자바가 제공하는 예외 계층 구조 Exception과 Error의 차이는? RuntimeException과 RE가 아닌 것의 차이는? 커스텀한 예외 만드는 방법 # 자바에서 예외 처리 방법 (try, catch, throw, throws, finally) try ~ catch : try를 활용해서 코드를 실행 시키고, catch 조건에 맞는 예외 발생시 작성된 코드대로 예외 처리를 시킬 수 있다. finally 는 예외처리된 후에도 실행될 수 있게 코드작성을 할 수 있다. import java.io.FileWriter; import java.io.IOException; public class Exceptio..

Backend/Java 2021.01.16

Junit5 문법 / 예제 / 활용 방법

#시작하며 모두가 테스트를 싫어하지만 최근 TDD환경이 트렌드로 되면서 Junit을 활용해 테스트코드를 짜는 개발방식이 중요해졌다. Test Driven Development (Write test first, then code) #Junit5 라이브러리 활용 방법 (vs code) 1. 아래 jar파일을 받아서 폴더에 저장한다. mvnrepository.com/artifact/org.junit.platform/junit-platform-console-standalone Maven Repository: org.junit.platform » junit-platform-console-standalone Module "junit-platform-console-standalone" of JUnit 5. Versi..

Backend/Java 2021.01.16

연산자 (3주차)

학습할 것 산술 연산자 비트 연산자 관계 연산자 논리 연산자 instanceof assignment(=) operator 화살표(->) 연산자 3항 연산자 연산자 우선 순위 (optional) Java 13. switch 연산자 # 산술 연산자 산술 연산자인 연산자(+,-,*,/), 나머지 연산자(%), 쉬프트 연산자(, 10 없음 int > byte 300 > 44 있음 기본형 타입별로 연산자 사용시 주의해야할 Case를 정리해봤다. //Case 1 byte a = 10; byte b = 20; byte c = a+b; //error 발생 byte c = (byte)(a+b); //byte 형변환으로 해결 //Case 2 int x = 1000000; int y = 2000000; long z = a*..

Backend/Java 2021.01.12

자바 데이터 타입, 변수 그리고 배열 (2주차)

목표 자바의 프리미티브 타입, 변수 그리고 배열을 사용하는 방법을 익힙니다. 학습할 것 프리미티브 타입 종류와 값의 범위 그리고 기본 값 프리미티브 타입과 레퍼런스 타입 리터럴 변수 선언 및 초기화하는 방법 변수의 스코프와 라이프타임 타입 변환, 캐스팅 그리고 타입 프로모션 1차 및 2차 배열 선언하기 타입 추론, var # 프리미티브 타입 종류와 값의 범위 그리고 기본 값 - 8가지의 기본형 타입이 있습니다. - 기본값이 있기 때문에 Null이 존재하지 않습니다. - 실제 값을 저장하는 공간으로 Stack(스택) 메모리 영역에 저장 됩니다. ​ 타입(Type) 할당 메모리크기 기본값(default) 데이터 표현 범위 논리형 boolean 1 byte false true, false 정수형 byte 1 ..

Backend/Java 2021.01.11

JVM은 무엇이며 자바 코드는 어떻게 실행하는 것인가. (1주차)

학습할 것 JVM이란 무엇인가 컴파일하는 방법 실행하는 방법 바이트코드란 무엇인가 JIT 컴파일러란 무엇이며 어떻게 동작하는지 JVM 구성 요소 JDK와 JRE의 차이 JVM 은 무엇인가? JAVA는 자바 컴파일러에 의해. class 바이트코드 소스로 컴파일된다. 그러나 컴퓨터는 기계어로 변경해야만 이해할 수 있기 때문에 해당하는 바이트코드는 JVM(Java Virtual Machine)이라는 Runtime 환경이 필요하다. JVM 같은 중간 언어를 해석해주지 못하는 언어들은 운영체제가 변경될 때마다 그에 맞게 실행 가능한 프로그램을 만들어야 한다. 이러한 단점을 보완하기 위해 바이트코드를 기계어로 번역해주는 과정을 한 번 더 하며 성능을 포기하고 편리함을 선택했다. JAVA는 왜 다른 언어에 비해 느림..

Backend/Java 2021.01.10