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형으로 바꾸고 싶을 때와 같이 내가 얻고자 하는 값이 자료형이 다를 경우

형변환을 해야 합니다.

이때 형변환은 자동 형변환 강제 형변환으로 구분되어 집니다.

자동 형변환 강제 형변환
컴파일러가 값의 범위가 작은 자료형을 큰 범위 자료형으로 자동으로 변환시켜주는 것 값의 범위가 큰 자료형을 작은 범위의 자료형으로 강제 변환 (강제 형변환 시 데이터의 손실이 발생할 수 있음)