///////
Search

형변환

태그
장서윤
자바기초
작성일
2022/09/21

01. 형변환을 이해하자

형변환이란?

두 피연산자의 자료형이 일치해야 동일한 방법을 적용하여 연산을 진행하기 때문에 데이터타입을 일치시켜주는 작업이 필요하다.
형변환에는 두가지가 있다.
묵시적 형 변환(자동) (Implicit Type Conversion) : 자동으로 형 변환 해주는 경우를 의미한다.
명시적 형 변환(강제) (Explicit Type Conversion) : 데이터 앞에 변환할 타입으로 명시해주는 경우를 의미한다.

형변환 규칙

자동 형변환 : 자동 형 변환의 원칙은 표현범위가 좁은 데이터 타입에서 넓은 데이터 타입으로의 변환만 허용된다.
ex) 같은 자료형끼리 연산을 할 경우 int num=1; int num=2; int result = num1+num2; //int를 넣어주면 됨
Plain Text
복사
ex) 다른 자료형끼리 연산을 할 경우 int num=1; float num2=1.0f; (?????) result = num1+num2; //float 이 경우에는 int가 float형으로 변경되어 계산된다 1.0f + 1.0 = 2.0f 계산됨
Plain Text
복사
문자 + 숫자인 경우에도 데이터 타입을 맞추기 위해서 형변환이 이루어지는데, 문자 + 숫자 ⇒ 문자열로 형변환
String sum = "안녕하세요" + 1004 //안녕하세요1004
Plain Text
복사

(int? short?) result = short1 + short2

short num1 = 10; short num2 = 20; short num3 = (short)(num1 + num2) ;
Plain Text
복사
: 연산자가 들어가면 Java는 기본적으로 int형 결과를 준다. 계산된 num1 + num2 ⇒ int로 결과를 뱉기때문에 에러를 발생 시킨다.
따라서 int를 short로 강제 형변환 시켜줘야한다.

 형변환 특징

: 확대변환 / 축소 변환
확대변환은 작은 자료형 ⇒ 큰 자료형 : 일반적으로 안전
축소변환은 큰 자료형 ⇒ 작은 자료형 : 자료를 잃을 가능성이 있다.

02. 상수 / 리터럴(Literal)

상수
변수에 값을 딱 한번 할당 할 수 있으면 상수
변경 불가
키워드 final 선언이 붙음
변수명 대문자 (일반적 관례)
예시)
final double PI = 10;
Plain Text
복사
리터럴
프로그램에서 '직접' 표현한 값
변하지 않는 데이터
소스 코드의 고정된 값을 대표하는 용어로 상수라는 표현으로 대신 해도 좋다
예시)
int a = 10;
Plain Text
복사
: a라는 변수에 10을 직접적으로 초기화 이때, 10과 같이 변하지 않는 고정적인 값을 리터럴이라고 부른다.