본문 바로가기

개발지/Today I learn

[0705] 자바 기초 5 (논리 타입과 문자 타입, 자동 타입 변환)

#논리 타입
boolean형만 존재한다.
참 거짓을 저장하는 값인 true/false만 저장할 수 있다.
2가지 타입을 표현하기에 1bit의 크기면 충분하지만,
JVM이 다루는 데이터의 최소 단위가 1byte이기 때문에
boolean형은 1byte의 크기를 가진다.

#문자 타입
char형 하나만 존재한다.
char형 변수를 사용할 때는 작은따옴표('')를 사용한다.
큰 따옴표("")는  문자열 리터럴(String)로 인식되기 때문이다.

자바는 유니코드로 문자를 저장한다.
char형 변수 alphbet에 'a'를 저장할 때 자바는 'a' 리터럴 대신 a의 유니코드를 저장한다.
후에 저장된 데이터를 꺼낼 때 유니코드를 불러와 코드에 맞는 문자를 출력한다.

#자동 타입 변환
자바에서 타입이 자동으로 변환되는 경우는 2가지이다.
(1) 바이트 크기가 작은 타입에서 큰 타입으로 변환할 때 (ex. int형 -> long형)
(2) 더 정밀한 타입으로 변환될 때 (ex. 정수형 -> 실수형)

즉 boolean형을 제외한 7가지 기본형이 자동 변환되는 순서를 표현하면,

byte(1) -> short(2)/char(2) -> int(4) -> long(8) -> float(4) -> double(8)

과 같다. 괄호()안은 타입의 할당되는 메모리의 크기(바이트)를 의미한다.

#수동 타입 변환
캐스팅(Casting)
: 수동으로 타입을 변환시키는 것.
차지하는 메모리 용량이 큰 것에서 작은 것으로 변환시킬 때 수동 타입 변환이 필요하다.