✔ 상수
상수란?
- 값이 변하지 않는 수
- 자바에서는 한번 그 값이 정해지면 이후로는 변경이 불가능한 변수도 상수라고 함
- 변수를 선언할 때 그 앞에 final이라는 선언을 추가하면 그 변수는 상수가 됨
final int MAX_SIZE = 100;
자바의 상수 이름 짓는 방법
- 모두 대문자로 지음
- 이름이 둘 이상의 단어로 이뤄질 경우 단어 사이에 언더바를 넣음
리터럴?
- 자바 컴파일러는 숫자를 접했을 때 이를 무엇으로 인식할지에 대한 일종의 약속이 필요
- 약속에 근거하여 표현된 숫자를 가리켜 리터럴 또는 리터럴 상수라 함
- 자바 컴파일러는 정수형 상수를 int형 정수로 인식하도록 약속되어 있음
- 하지만 자바는 byte형과 short형 정수의 표현 방법을 제공하지 않기 때문에 단지 숫자로 초기화를 허용함
- 반면 long형 정수의 표현 방법은 숫자의 끝에 문자 L 또는 l을 붙이는 것을 별도로 제공
- 자바 컴파일러는 실수형 상수를 double형 실수로 인식하도록 약속되어 있음
- double형으로 포현된 상수임을 명시하고 싶다면 D 또는 d를 붙임
- float형 실수를 표현하고 싶다면 f 또는 F를 붙임
- 부울형 상수는 true, false만 가질 수 있음
- 문자형 상수는 유니코드로 표현
- 이외에도 화면상의 어떠한 현상을 나타내기 위한 문자들인 이스케이프 시퀀스 문자가 존재
✔ 형 변환
자료형의 변환?
- 데이터의 표현 방법에 따라 덧셈 방법이 다르므로 두 변수의 자료형을 하나로 일치시키는 과정이 필요
- int형 변수와 long형 변수가 있을 경우, long형으로 변환해야 데이터의 손실 없이 연산이 가능
- int형 변수에 담긴 값을 long형으로 변환하여 연산하기 위해서는
- int형 변수에 저장된 값을 long형으로 변환하여 메모리에 임시 저장한 후
- 변환된 값과 long형에 저장된 값을 대상으로 덧셈을 진행
자동 형 변환
- 프로그래머가 명시한 형 변환이 아니고 필요한 상황에서 자동으로 형 변환이 일어나기도 함
- 형 변환이 필요한 상황에서는 두 규칙에 근거하여 자동으로 형 변환이 일어남
- 자료형의 크기가 큰 방향으로 형 변환이 일어남
- 자료형의 크기에 상관없이 정수 자료형보다 실수 자료형이 우선됨
명시적 형 변환
- 자동으로 형 변환이 진행되지 않는 상황에서도 필요하다면 명시적 형 변환을 통해 형 변환
- 하지만 큰 정수 자료형에서 작은 크기의 정수 자료형으로 형 변환을 진행하는 경우 상위 바이트가 잘려나감을 주의
short num1 = 1;
short num2 = 2;
short num3 = num1 + num2; // 정수형 연산은 int형이 되므로 컴파일 오류 발생 O
short num3 = (short)(num1 + num2); // int형을 short형으로 명시적 형 변환하므로 컴파일 오류 발생 X
'Java-Spring > 열혈 Java 프로그래밍' 카테고리의 다른 글
[Java] 클래스와 인스턴스 (0) | 2023.08.01 |
---|---|
[Java] 메소드와 변수의 스코프 (0) | 2023.06.28 |
[Java] 실행 흐름의 컨트롤 (0) | 2023.06.27 |
[Java] 연산자 (0) | 2023.06.27 |
[Java] 변수와 자료형 (0) | 2023.06.26 |