더 나은 개발자가 되고싶다..

[Java Day01]변수와 타입 본문

코딩/Java

[Java Day01]변수와 타입

오맹이 2020. 5. 26. 17:38

시작하는글 

친구의 공부를 도울겸 내가 알고있던 내용의 복습을 위해 이렇게 오랜만에 포스팅을 시작합니다.

 

JDK 설치, eclipse 설치는 생략하고 Java의 이론적인 내용에 대해서만 포스팅할 예정입니다.


1. 변수(variable)

변수 : 값을 저장할 수 있는 메모리 상의 공간

변수의 값은 변경이 가능, 하지만 하나의 변수에는 하나의 값만 저장이 가능합니다.

 

1-1 변수의 선언

Java에서는 변수의 선언을 다음과 같이 합니다.

 

// int타입의 변수 num선언
int num;

//변수 선언과 동시에 초기화
int num2 = 0;

1-2 변수 선언의 규칙

// 1. 대소문자가 구분되며 길이의 제한이 없다.
int num = 0;
int Num = 0;
//위 두개는 다른 변수

// 2. 예약어 사용은 불가능하다.
int true = 0;
// true는 예약어 이기때문에 변수명으로 사용할 수 없다.

// 3. 특수문자는 _ 와 $만 허용된다.
int $heep = 0; // 가능
int #heep = 0; // 불가능

 

2. 변수의 타입

Java의 변수에는 타입이 존재하는데 기본형참조형으로 크게 분류합니다.

 

기본형은 총8개 참조형은 기본형을 제외한 나머지 타입입니다.

 

기본형 타입은 다음과 같습니다.

정수형
byte(1byte), short(2byte), int(4byte), long(8byte)

실수형
float(4byte), double(8byte)

문자형
char(2byte)

논리형
boolean(1byte)

※ 타입별로 byte크기가 있는데 이는 형변환할때 중요하므로 알아두면 좋습니다.

 

 

 

3. 형변환

코드를 작성하다보면 서로다른 타입의 연산을 수행해야하는 경우가 존재합니다.

위와 같은 경우에 서로 같은 타입으로 변환해주어 연산을 수행합니다.

 

형변환은 boolean을 제외한 나머지의 기본형들끼리 가능합니다.

 

형변환에는 위에서 말한 byte크기를 기준으로 JVM이 자동으로 해주는지 캐스팅을 해야하는지 나뉩니다.

 

작은 자료형 -> 큰 자료형

§ 값 손실이 없으므로 JVM에서 자동으로 형변환이 진행됩니다.

 

큰 자료형 -> 작은 자료형

§ 값 손실이 발생할 수 있기때문에 캐스팅을 반드시 해주어야합니다.

// int -> char

int num = 65;
char ch = (char)num;

System.out.print(ch); // 'A'

위의 코드중 (char)num 부분을 보자 int타입의 num을 char형으로 바꾸기 위해서는 캐스팅이 필요한데

(char)이것이 캐스팅을 한부분입니다.


 

변수에 대해서는 책을 보면서 공부하면 크게 어려운 것이 없기때문에 여기서 마무리 하겠습니다.

 

※ 참고문헌 

남궁성, Java의 정석 2end Edition

 

해당책은 Java공부하기에 정말 좋은책이다.