초보 개발자의 기록

변수의 타입 본문

JAVA/Basic

변수의 타입

bambinodeveloper 2021. 8. 2. 00:28
728x90

- 우리가 주로 사용하는 값(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) 라고 함

- 참조형 선언방법 : 클래스이름 변수이름;

728x90
반응형

'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