Programming/JAVA
JAVA - 상수와 형변환
긍정왕웹서퍼
2021. 7. 21. 00:58
728x90
상수 ( Constant ) 란?
자바에서 상수와 수학에서의 상수는 조금은 다른의미를 갖고 있습니다.
먼저 수학에서 상수는 변하지 않는 값을 의미합니다.
그럼 자바에서는 어떠한 뜻을 가질까요? 큰 의미에서는 비슷하지만
자바에선 한번만 저장할 수 있는 값(메모리)을 의미합니다.
수학의 뜻과 비슷하게 초기화한 후에는 값을 변경할 수 없는 값이니 같은뜻이라 봐도 틀린말은 아니겠죠?
선언과 초기화 방법
// 선언 방법
final '자료형' '변수명';
// 초기화 방법
// 1. 선언과 동시에 초기화
final int num = 100;
// 2.선언 후 초기화
final int num;
num = 100;
이처럼 변수의 선언과 초기화와 동일한 방식이지만, 앞에 final 로 이 변수의 값이 상수이다 라고 선언해줘야 합니다.
선언과 초기화 후에는 다른 값을 대입할 수 없습니다. 상수를 주의해서 사용해야하는 이유입니다.
형변환 ( casting )
형변환은 지난 시간에 포스팅했던 값의 자료형을 변경하는 것을 의미합니다.
여러가지 이유로 값의 자료형이 수정되어야할때, 자바는 이를 형변환을 통해 바꿀수 있게 지원합니다.
프로그램에서 값을 처리할때 몇가지 원칙이 있고 이 원칙이 지켜지지 않을 때 형변환이 필요하게 됩니다.
- 같은 종류의 자료형만 대입이 가능합니다.
- 같은 종류의 자료형만 계산이 가능합니다.
- 계산의 결과값도 같은 종류의 자료형이어야 합니다.
예시로 int 형 의 값을 소수점을 가진 double형으로 바꾸고 싶을 때와 같이 내가 얻고자 하는 값이 자료형이 다를 경우
형변환을 해야 합니다.
이때 형변환은 자동 형변환 과 강제 형변환으로 구분되어 집니다.
자동 형변환 | 강제 형변환 |
컴파일러가 값의 범위가 작은 자료형을 큰 범위 자료형으로 자동으로 변환시켜주는 것 | 값의 범위가 큰 자료형을 작은 범위의 자료형으로 강제 변환 (강제 형변환 시 데이터의 손실이 발생할 수 있음) |