일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
- 코드잇
- 데이터베이스
- 자바
- jvm메모리구조
- coding test
- CSS
- 웹개발자
- servlet
- html
- msa개념
- two pointers
- sql
- BCIT
- DB
- MSA
- 웹개발기초
- 안드로이드
- jsp
- SpringFramework
- MVC
- 밤비노
- Bambino
- mysql
- microservices
- Java
- 웹개발
- Programming
- C
- job
- 리액트프로젝트
- Today
- Total
초보 개발자의 기록
변수의 타입 본문
- 우리가 주로 사용하는 값(data) 의 종류(type) 는 '문자, 숫자' 로 나뉨. 숫자는 ' 정수, 실수' 로 나뉨
- 값의 종류에 따라 값이 저장될 공간의 크기와 저장형식을 정의한 것이 자료형(data type)
- 자료형에는 문자형(char), 정수형(byte, short, int, long) , 실수형(float, double) 등이 있음
- 변수를 선언할 떄는 저장하려는 값의 특성을 고려하여 가장 알맞은 자료형을 변수의 타입으로 선택해야 함
- 실제 연산에 사용되는 것은 모두 기본형 변수이다.
기본형(primitive type)
- 실제 값(data) 를 저장
- 논리형(boolean), 문자(char), 정수형(byte, short, int, long), 실수형(float, double) 모두 8개
논리형(boolean)
- true와 false 중 하나를 값으로 갖음. 조건식과 논리적 계산에 사용
- 다른 기본형과의 연산 불가능
문자(char)
- 문자를 저장하는데 사용. 변수에 하나의 문자만 저장 가능
- 내부적으로 정수(유니코드)로 저장하기 떄문에 별반 다르지 않음
- 정수형, 실수형과 연산 가능
- 문자열은 참조형이 String을 사용
정수형(byte, short, int, long)
- 정수를 저장하는데 사용되며, 주로 int가 사용 (정수의 기본형이 int).
- byte는 이진 데이터를 다룰 때 사용
- short 는 C언어와의 호환을 위해 추가
- 가장 많이 사용
- int는 CPU가 가장 효율적으로 처리할 수 있는 타입
- 효율적인 실행보자 메모리를 절약하려면 byte나 short를 선택
- -2^(n-1) ~ (2^(n-1))-1 (n은 bit수)
실수형(float, double)
- 실수를 저장하는데 사용. 주로 double사용 (실수형의 기본형은 double)
- float은 큰 값을 저장할 수 있지만, 정밀도가 7자리밖에 되지 않으므로,
보다 높은 정밀도가 필요한 경우에는 변수 타입으로 double 을 선택해야 한다.
1 byte | 2 byte | 4 byte | 8 byte | |
논리형 | boolean | |||
문자형 | char | |||
정수형 | byte | short | int | long |
실수형 | float | double |
- boolean 제외한 나머지 7개의 기본형은 서로 연산과 변환이 가능
- boolean은 true와 false 두 가지 값만 표현할 수 있으면 되므로 가장 작은 크기인 1byte
- char은 자바에서 유니코드 (2byte 문자체계) 를 사용하므로 2 byte
- byte는 크기가 1byte라서 byte
- int(4byte) 를 기준으로 짧아서 short(2byte), 길어서 long (8byte) (short<->long)
- float 는 실수값을 부동소수점(floating-point) 방식으로 저장하기 때문에 float
- double 은 float보다 두 배의 크기 (8byte) 를 갖기 떄문에 double
- 실수형은 정수형과 저장형식이 달라서 같은 크기라도 훨씬 큰 값을 표현할 수 있으나, 오차가 발생할 수 있다는 단점
- 정밀도(precision)가 중요. 정밀도가 높을수록 발생하는 오차의 범위가 줄어든다
참조형(reference type)
- 어떤 값이 저장되어있는 주소(memory address) 를 값으로 가짐 <객체를 참조하기 위한 주소값 저장>
- 객체의 주소를 저장. 8개의 기본형을 제외한 나머지 타입
- 참조형 변수를 선언할 떄는 변수의 타입으로 클래스의 이름을 사용하므로, 클래스의 이름이 참조변수 타입이 됨
따라서, 새로운 클래스를 작성한다는 것은 새로운 참조형을 추가하는 것
- 변수 앞에 선언된 데이터 타입이 참조형(reference type) 인 경우 이 변수를 참조변수(reference variable , rv) 라고 함
- 참조형 선언방법 : 클래스이름 변수이름;
'JAVA > Basic' 카테고리의 다른 글
변수의 기본형(Primitive type) (0) | 2021.08.02 |
---|---|
JVM 메모리 구조 (0) | 2021.08.02 |
매개변수가 있는 생성자(constructor) (0) | 2021.08.02 |
import문 (0) | 2021.08.01 |
패키지 (package) (0) | 2021.08.01 |