Java

자바 프로그래밍 (Java) - 8 : 자바 데이터 타입 분류 체계, Promotion

n.han 2016. 7. 12. 10:27

 - 자바 데이터 타입의 분류 체계


자바 데이터 타입은 다음과 같이 프리미티브 타입과 레퍼런스 타입으로 분류된다.

 

프리미티브 타입은 값으로 저장되고, 레퍼런스 타입은 객체로 값이 저장되는 것에 차이가 있다.

 

또한, Java Virtual Machine 자체는 32bit 머신이기 때문에, 아키텍쳐와 관계 없이 항상 같은 크기를 갖게 된다.

 

Java에는 Semi boolean을 지원하지 않기 때문에, 수치 타입과 불리언 타입은 서로 형 변환할 수 없다.

 

업 캐스팅은 가능하지만, 다운 캐스팅은 에러를 발생 시킨다.

 

따라서 명시적 형변환을 통해서 형 변환을 할 수 있지만, 데이터 유실이 발생한다.

 

 - promotion

 

 numeric data의 연산은 최소 int 자료형이 필요하다. 따라서 내부적으로 묵시적 형 변환이 일어나는 데, 이를 Promotion이라고 한다.

 

예를 들어, Byte끼리의 연산은 int 자료형이 필요하므로 자동적으로 int promotion된다.