본문 바로가기
개발참고

[Java] 자바의 형식을 의미하는 식별자, 상수를 나타내는 자료형

by 라인 :D 2020. 5. 20.

02.자바기초

[Java] 자바의 형식을 의미하는 식별자, 상수를 나타내는 자료형



식별자와 키워드  


식별자의 정의와 특징 ? 

JAVA의 식별자는 유니코드형식으로 되어있습니다. 그렇기 때문에 클래스, 배열, 인터페이스, 네임스페이스를 한글 / 영어 / 한자 등의 언어로 선언할 수 있습니다. 자바에서는 예약어로 선언된 명령어 등을 키워드로 선언해서 사용하고 있습니다.


자바의 식별자란 ?? 식별자를 작성할 때는 꼭 지켜줘야 하는 규칙이 있습니다.

<식별자 작성 규칙>  

1. 첫글자는 반드시 문자여야 합니다 

2.  ‘_’, ‘$’ 를 사용하며, 그 뒤로 숫자가 올 수 있습니다.

※ 여기서 문자는 자바가 아스키코드가 아니라 유니 코드(Unicode)를 사용하기 때문에 한글, 한자,일본어도 가능합니다.

3. 문자, ‘_’, ‘$’ ,숫자 외의 특수문자는 절때 사용할 수가 없습니다.

4. 자바의 식별자는 공백문자는 포함될 수 없습니다.

5. 대소문자가 정확하게 구별됩니다.

6. 길이의 제한은 없습니다.

7. 키워드로는 사용할 수 없습니다.

※ 다만 키워드가 일부 사용되는 것은 상관이 없습니다.


자바의 키워드



변수와 상수 


변수와 상수의 정의 ? 

자바의 변수는 말그대로 변하는 수를 가진 것을 의미하고, 반대로 상수는 변하지 않는 수를 의미합니다.

변수와 상수의 관계 

변수와 상수의 관계는 어떻게 될까요 ?? 많은 변수와 상수를 자바 프로그램에서 사용하고 있습니다. 변하는 값을 보관하는 기억장소인 변수와 변하지 않는 값을 갖는 상수가 서로 mapping 되어서 시스템의 메모리가 되기 때문인데요 그럼, 변수와 상수의 선언은 어떻게 할까요 ??

변수와 상수는 선언 시에도 변수는 왼쪽에 상수는 오른쪽에 = 연산자와 함께 사용되고 있습니다. 

[형식] 변수 = 상수 ;


자바의 자료형 


자바의 자료형의 정의 및 종류 ? 

자바의 데이터형식은 값 형식으로 1:1 변수와 값 대입을 할 수 있는 형식과, 메모리 영역을 자유영역으로 구현해서 값을 참조할 수 있는 참조형식으로 나눠지고 있습니다.



<기본형의 정의 및 종류> 

기본형은 정수형, 실수형, 문자형, 논리형과 같은 언어에서 제공하는 데이터를 말합니다.

기본형의 종류 

- Logical(논리형) - boolean  

- Textual(문자형) - char , String 

- Integer(정수형) - byte, short, int, long 

- Floating point(실수형) - double, float 

참조형의 정의 

참조형은 클래스, 배열 등을 말합니다.


demotion & promotion


Demotion & promotion의 정의와 특징 ? 

기본 자료형인 정수는 int, 실수는 double로 설정되어 있어 demotion과 promotion을 이용해서 값대입을 적절하게 사용합니다. demotion은 큰 타입의 자료형이 작은 타입의 자료형에 들어갈 수 있는 경우를 말하는데요. 정수형의 데이터 상수를 int 데이터형이 아닌 더 큰 데이터형(long)에 대입될 때, 컴파일러는 이 상수를 더 큰 데이터형(long)으로 변환하는데 이것을 promotion이라고 할 수 있습니다.


자바의 형 변환(Casting)  


Casting이란? ? 

자바의 형 변환(Casting)은 의도적으로 데이터의 형태를 바꾸는 동작을 말합니다.?비록 데이터에 손실이 가더라도 데이터의 크기를 바꾸게 될 경우 주로 사용하게 됩니다. 자바는 큰 데이터형의 변수의 값을 작은 데이터형의 변수에 할당할 때에는 반드시 casting을 해 주어야 합니다.




'개발참고' 카테고리의 다른 글

[Java] 자바의 구문 분석  (0) 2020.05.23
[Java] 자바 연산자와 우선순위  (0) 2020.05.22
[Java] Java란 무엇인가?  (0) 2020.05.20
[JSP&Servlet] JSP 내장객체, 액션, 컴포넌트  (0) 2020.05.19
[JSP&Servlet] JSP 개요  (0) 2020.05.19