2020/12/08 - [자바] - [JAVA] 제 3 - 1 장 변수의 활용편 (출력문)
지난 시간은 변수를 활용해서 출력문을 작성하는 방법을 살펴보았습니다 !
오늘은 변수 끼리 값을 주고 받을 때, 서로 다른 자료형끼리 값을 주고 받을때 필요한
자동적인 형변환, 강제형변환을 살펴보고자 합니다 :)
1.자동 타입 변환
byte a = 10;
int b = a;
원래 10은 byte 타입의 값이었으나 값이 int 타입의 값으로 변환되었습니다. 자바에서는 이와 같은 행위를
타입 변환 이라고 합니다 !
즉 ! 큰 허용 범위 타입 ( int ) = 작은 허용 범위 타입( byte ) 을 의미 합니다.
int 는 4byte , byte는 1byte 이므로 작은 박스가 큰 박스에 들어갈 수 있는 것은 어찌보면 당연합니다 :)
기본 타입 범위 크기순 byte < short < int < long < float < double
*예외* char 타입보다 허용 범위가 작은 byte 타입은 char 타입으로 자동 변환을 할 수 없습니다. 왜냐하면 char 타입의 허용 범위는 음수를 포함하지 않지만, byte 타입은 음수를 포함하기 때문 입니다.
2.강제 타입 변환
큰 허용 범위 타입이 작은 허용 범위 타입에 들어간다면 자동으로 타입이 변환되지 않습니다 !
마치 큰 상자가 작은 상자에 들어갈 수 없는 것과 동일한 이치입니다. 하지만 큰 상자를 강제로 잘라서 작은 상자에
꾸겨서 넣을수는 있습니다.
자바에서도 캐스팅 연산자 괄호 () 를 사용하여 강제로 타입을 변환할 수 있습니다.
작은 허용 범위 타입 = ( 작은 허용 범위 타입 ) 큰 허용 범위 타입
실수 타입(float double)은 정수 타입(byte short int long)으로 자동 변환되지 않기 때문에 강제 타입 변환을 사용해야 합니다. 이 경우 소수점 이하 부분은 버려지고, 정수 부분만 저장 됩니다. :)
'language > JAVA' 카테고리의 다른 글
[JAVA] 제 3 - 1 장 변수의 활용편 (출력문) (0) | 2020.12.08 |
---|---|
[JAVA] 제 3장 - 변수와 타입 (0) | 2020.12.06 |
[JAVA] 제 2장 - 자바의 프로젝트 생성부터 실행까지 (2) | 2020.12.05 |
[JAVA] 제 1장 - 자바의 시작 (컴퓨터, 객체지향) (1) | 2020.12.05 |
[JAVA] 자바를 함께 자바요! (1) | 2020.12.05 |
댓글