[Java의 정석] 변수의 타입

말하는 감자·2023년 10월 2일
0

Java의 정석

목록 보기
9/32
post-thumbnail

Chapter 02 변수(Varialbe)

2. 변수의 타입

📌 변수의 타입

주로 사용하는 값(data)의 종류(type)는 크게 '문자와 숫자'로 나눌 수 있으며, 숫자는 다시 '정수와 실수'로 나눌 수 있다.

이러한 값의 종류에 따라 값이 저장될 공간의 크기와 저장형식을 정의한 것이 자료형(data type)이다.
자료형에는 문자형(char), 정수형(byte, short, int, long), 실수형(float, double) 등이 있으며 변수를 선어할 때는 저장하려는 값의 특성을 고려하여 가장 알맞는 자료형을 변수의 타입으로 선택하면 된다.

📍기본형과 참조형

자료형은 크게 '기본형'과 '참조형' 두 가지로 나눌 수 있는데, 기본형 변수는 실제 값(data)을 저장하는 반면, 참조형 변수는 어떤 값이 저장되어 있는 주소(memory address)를 값으로 갖는다.
자바는 C언어와 달리 참조형 변수 간의 연산을 할 수 없으므로 실제 연산에 사용되는 것은 모두 기본형 변수이다.

기본형(primitive type)

  • 논리형(boolean), 문자형(char), 정수형(byte, short, int, long), 실수형(float, double) ➡️ 모두 8개
  • 계산을 위한 실제 값을 저장한다.

참조형(reference type)

  • 객체의 주소를 저장한다.
  • 8개의 기본형을 제외한 나머지 타입.

참조형 변수(또는 참조변수)를 선언할 때는 클래스의 이름을 변수의 타입으로 사용하므로 클래스의 이름이 참조변수의 타입이 된다.

클래스이름 변수이름; // 변수의 타입이 기본형이 아닌 것들은 모두 참조변수이다.

아래는 Date클래스 타입의 참조변수 today를 선언하는 코드이다.

Date today = new Date(); // Date객체를 생성해서, 그 주소를 today에 저장

참조변수는 null 또는 객체의 주소를 값으로 갖으며 참조변수 초기화는 위처럼 하면 된다.

객체를 생성하는 연산자 new의 결과는 생성된 객체의 주소이다. 이 주소가 대입연산자'='에 의해서 참조변수 today에 저장되는 것이다. 이제 참조변수 today를 통해서 생성된 객체를 사용할 수 있게 된다.

❓ 자료형(data type)과 타입(type)의 차이가 뭔가요?

❗ 기본형은 저장할 값(data)의 종류에 따라 구분되므로 기본형의 종류를 얘기할 때는 '자료형(data type)'이라는 용어를 쓴다.
그러나 참조형은 항상 '객체의 주소(4 byte 정수)'를 저장하므로 값(data)이 아닌 객체의 종류에 의해 구분되므로 참조형 변수의 종류를 구분할 때는 '타입(type)'이라는 용어를 사용한다.
'타입(type)'이 '자료형(data type)'을 포함하는 넓은 의미의 용어다.

💡 참고

참조형 변수는 null 또는 객체의 주소(4 byte, OxO~OxFFFFFFFF)를 값으로 갖는다.
단, JVM이 32 bit가 아닌 64 bit라면 참조형 변수의 크기는 8 byte가 된다.


📑 원본 자료

  • Java의 정석(3판) [남궁 성/도우출판/2016]
profile
나는 말하는 감자다

0개의 댓글