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과 같이 변하지 않는 고정적인 값을 리터럴이라고 부른다.