For Programmer
1. 자료형 본문
Java의 데이터타입은 크게 기본형 타입(primitive타입)와 참조형 타입으로 구분할 수 있다.
1. 기본형 자료(byte, char, short, int, long, float, double, boolean)
논리형(boolean)
Java 에서는 논리형 자료로 boolean을 제공한다. true와 false를 나타낸다. 다른 기본형과의 연산은 불가능한 특징이 있다. 크기는 1byte이다.
문자형(char)
컴퓨터는 0,1만 알고 있는 기계이다. 따라서 문자형도 결국에는 0,1로 저장이 된다. 내부적으로는 유니코드 / 아스키코드 로 맵핑시켜서 저장을 시킨다. 따라서 실수형이나 정수형과 연산이 가능한 특징이 있다. 크기는 2byte이다.
정수형 (int,byte,short,long)
- byte : 1byte
- int : 4byte
- long : 8byte
- short : 2byte
자바는 정수형 타입에 리터럴 접미사를 붙이지 않으면 int타입으로 간주한다. 그이유는 JVM의 피연산자 스택이 피연산자를 4byte단위로 저장하기 때문이다. 4byte보다 작은 단위 (short,byte) 단위로 변환하여 연산을 수행하기 때문에 다른 단위로 저장하면 굳이 int로 형변환을 해서 계산을 하여 비효율적이게 되기 때문이다.
실수형(float,double)
- float : 4byte
- double : 8byte
실수형을 저장하는 자료형에는 float,double이 있다. 일반적으로 float타입보다는 double타입을 더 많이 사용한다. 이는 높은 정밀도가 필요하기 때문이다. 실수는 오차가 발생하기 때문에 더 높은 정밀도를 가지기 위해서는 double타입을 사용해야 한다.
System.out.println("Byte형의 크기: "+Byte.SIZE/8);
System.out.println("Short형의 크기: "+Short.SIZE/8);
System.out.println("Integer형의 크기: "+Integer.SIZE/8);
System.out.println("Float형의 크기: "+Float.SIZE/8);
System.out.println("Double형의 크기: "+Double.SIZE/8);
Byte형의 크기: 1
Short형의 크기: 2
Integer형의 크기: 4
Float형의 크기: 4
Double형의 크기: 8
-> 비트 형식으로 출력되기 때문에 8로 나눴음
// 자동(묵시)적 형변환
// 작은 자료형을 큰 자료형에 대입할 때 발생
int a = 100000; Byte b = 100;
a = b; // a = (int)b 와동일
//명시적 형변환
// 큰 자료형을 작은 자료형으로 대입할때 사용(캐스트 안할 시 오류발생)
b = (byte) a;
2. 참조형 타입
배열, 열거형, 클래스, 인터페이스, String 처럼 스택영역에 존재하는 변수가 직접 값을 가지지 않고 힙영역에 존재하는 객체의 메모리 address를 가지고 있는 타입을 말한다. 크기는 32비트(혹은 64비트) 이다.
'Programming language > Java' 카테고리의 다른 글
6. 클래스 (0) | 2021.08.13 |
---|---|
5. 제어문(가정문,반복문) (0) | 2021.08.12 |
4. 배열 (0) | 2021.08.11 |
3. 연산자 (0) | 2021.08.11 |
2. 출력 함수(printf,println) (0) | 2021.08.10 |