오늘은 어제보다 나아지길
[Java] 자바 다시 시작하기 본문
돌고 돌아 다시 자바를 시작하기로 했다.
기회가 생겨 같이 일했던 회사 동료들과 스터디를 진행하기로 하여 자바를 맨 처음 시작하기로 하였다.
공부하면서 용어들을 처음부터 정리하면서 다시 개념을 잡으려 한다.
시작!!!
JVM
자바는 완전한 기계어가 아닌 중간 단계인 바이트 코드 이기에 이것을 해석하고 실행하려면 가상의 운영체제가 필요한데, JVM(Java Virtual Machine)이라는 것을 사용한다.
JVM이란 자바 프로그램을 실행하는 가상의 운영체제를 말한다.
즉, 자바를 실행시키는 가상의 기계라고 생각을 하면 된다.
JVM은 JDK 또는 JRE를 설치하면 자동적으로 설치가 된다.
클래스, 메소드
public class Hello {
// Hello 는 클래스 이름
// 필드, 메소드를 포함하는 블록
public static void main(String args[]) {
// main은 메소드 이름
// 어떤일을 처리하는 실행문을 모아 놓은 블록
System.out.println("Hello, welcome to Java world!");
}
}
리터럴(literal)
변수의 초기값은 코드에서 직접 입력하는 경우가 많은데, 소스 코드 내에서 직접 입력된 값
종류는 정수, 실수, 문자, 논리 4가지로 구분
ex) 정수 리터럴 : 0, 77, -243, 02, 0xA
실수 리터럴 : 0.25, -3.14, 5E7
문자 리터럴 : '컵', '물', '\n'
문자열 리터럴 : "대한민국", " 한 줄 내려쓰기 \n 합니다."
데이터 타입
값의 종류 | 기본타입 | 메모리사용크기 | 저장되는 값의 범위 | |
정수 | byte | 1 byte | 8 bit | -128 ~ 127 |
char | 2 byte | 16 bit | 0 ~ 65,535, 모든 유니코드 문자 | |
short | 2 byte | 16 bit | -32768 ~ 32767 | |
int | 4 byte | 32 bit | -2147483648 ~ 2147483647 (약 21억) | |
long | 8 byte | 64 bit | -922337036854775808 ~ 9223372036854775807 | |
실수 | float | 4 byte | 32 bit | 1.40239846e-45f ~3.40282347e+38f |
double | 8 byte | 64 bit | 4.94065645841246544e-324~1.79769313486231570e+308 | |
논리 | boolean | 1 byte | 8 bit | true, false |
열거 타입(enum)
한정된 값만을 갖는 데이터 타입을 말한다.
열거 타입의 상수는 모두 대문자로 작성하고 단어 조합일 땐 _(언더라인)을 사용한다.
public enum Week{
MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY, LOGIN_SUCCESS
}
사용방법
열거타입 변수 = 열거타입.열거상수;
Week Today = Week.SUNDAY;
열거 객체의 메소드
리턴타입 | 메소드(매개 변수) | 설명 |
String | name() | 열거 객체의 문자열을 리턴 |
int | oridinal() | 열거 객체의 순번(0부터 시작)을 리턴 |
int | compareTo() | 열거 객체를 비교해서 순번 차이를 리턴 |
열거 타입 | valueOf(String name) | 주어진 문자열의 열거 객체를 리턴 |
열거 배열 | values | 모든 열거 객체들을 배열로 리턴 |
name() 메소드
열거 객체가 가지고 있는 문자열 리턴
Week today = Week.MONDAY;
String name = today.name(); // MONDAY
oridinal() 메소드
전체 열거 객체 중 몇 번째 열거 객체인지 알려준다.
Week today = Week.MONDAY;
int oridinal = today.oridinal(); // 0
compareTo() 메소드
매개 값으로 주어진 열거 객체를 기준으로 전후로 몇 번째 위치하는지를 비교
Week today1 = Week.MONDAY;
Week today2 = Week.WEDNESDAY;
int result1 = today1.compareTo(today2); // -2
int result2 = today2.compareTo(today1); // 2
valueOf() 메소드
매개 값으로 주어지는 문자열과 동일한 문자열을 가지는 열거 객체를 리턴
Week weekDay = Week.valueOf("SATURDAY"); // SATURDAY
values() 메소드
열거 타입의 모든 열거 객체들을 배열로 만들어 리턴
Week[] days = Week.values();
for(Week day : days) {
System.out.println(day);
// MONDAY
// TUESDAY
// WEDNESDAY
// THURSDAY
// FRIDAY
// SATURDAY
// SUNDAY
}
참조 : 이것이 자바다
'[Java]' 카테고리의 다른 글
[Java] 상속 (0) | 2021.01.04 |
---|---|
[Java] 컬렉션 프레임워크 (0) | 2020.12.15 |
[Java] 클래스 정리 (0) | 2020.11.16 |
Comments