티스토리 뷰
📌 자료형
✔ 값의 종류에 따라 값이 저장될 공간의 크기와 저장 형식을 정의한 것
1. 기본형과 참조형
✔ 기본형 : 실제 값을 저장
✔ 참조형 : 어떤 값이 저장되어 있는 메모리 주소를 값으로 저장
✔ 자바는 C언어와 달리 참조형 변수 간의 연산을 할 수 없으므로, 실제 연산에 사용되는 것은 모두 기본형 변수.
✔ 앞서 변수를 선언하는 방식은 기본형을 사용한 방식이므로, 참조형 변수의 선언에 대해 살펴보자
클래스이름 변수이름;
✔ 기본형이 아닌 자료형은 모두 참조형이므로, 클래스명 또한 참조형에 속한다.
✔ 즉, 새로운 클래스의 작성은 새로운 참조형을 추가하는 셈이다. 참조형의 초기화는 아래와 같다
Scanner sc = new Scanner(System in);
✔ 자료형이 기본형이 아니므로, 이는 참조형 변수이다.
✔ Scanner 클래스 타입의 sc 라는 이름을 가진 참조형 변수. 참조형 변수는 메모리 주소로 초기화해야한다.
✔ 우항에서 new 연산자를 사용, Scanner 클래스 타입의 객체를 생성하여 주소를 가져와 참조형 변수를 초기화.
2. 기본형 (primitive type)
종류 | 자료형 | 기본값 | bit | byte | |
논리형 | boolean | false | false, true | 1 | - |
문자형 | char | '\u0000' | '\u0000' ~ '\ufff' | 16 | 2 |
정수형 | byte | 0 |
-128 ~ 0 ~ 127 | 8 | 1 |
short | -32,768 ~ 0 ~ 32,767 | 16 | 2 | ||
int | -2,147,483,648 ~ 0 ~ 2,147,483,647 | 32 | 4 | ||
long | -9,223,372,036,854,775,808 ~ 0 ~ 9,223,372,036,854,775,807 | 64 | 8 | ||
실수형 | float | 0.0 |
1.4E-45 ~ 3.4E38 | 32 | 4 |
double | 4.9E-324 ~ 1.8E308 | 64 | 8 |
✔ 논리형 : 다른 기본형과 연산 불가능 (논리형을 제외한 기본형끼리는 모두 연산 가능)
✔ 문자형 : 문자를 유니코드로 저장하므로, 정수형이나 실수형과 연산도 가능하다. (C언어는 아스키코드를 사용하므로 1bit)
✔ 정수형 : CPU가 가장 효율적으로 처리할 수 있는 int를 많이 사용. 메모리 절약을 우선시한다면 byte나 short를 사용하자. (default 는 int)
✔ 실수형 : 실수형은 소수점을 표현하기 때문에 오차가 발생할 수 있다. 그래서 정밀도가 중요하다. (default는 double)
실수 자료형 | 정밀도 | bit | byte |
float | 7 자리 | 32 | 4 |
double | 15 자리 | 64 | 8 |
✔ 정밀도 : 10진수를 기준으로 n자리 수를 오차 없이 표현할 수 있다는 뜻. 정밀도가 높을수록 오차 발생 범위가 줄어든다.
✔ 보다 높은 정밀도가 필요한 실수의 경우 double을 사용하자
[참고] 자바의 정석
'BackEnd > JAVA' 카테고리의 다른 글
[Ch.03] 1. 연산자 (0) | 2021.02.28 |
---|---|
[Ch.02] 형식화 출력 함수 printf() / 형변환 (1) | 2021.02.20 |
[Ch.02] 상수와 리터럴 (0) | 2021.02.20 |
[Ch.02] 변수의 선언과 초기화 (0) | 2021.02.20 |
[Ch.00] JAVA 스터디 시작 + 매 주 후기 (0) | 2021.02.18 |