Notice
Recent Posts
Recent Comments
«   2024/12   »
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 31
Archives
Today
Total
관리 메뉴

충분히 쌓여가는

기본형과 참조형 본문

Java

기본형과 참조형

빌드이너프 2023. 1. 9. 16:44

값의 분류

자료형

  • 값의 종류에 따라 값이 저장될 공간의 크기와 저장형식을 정의한 것
  • 문자형(char), 정수형(int, short, int, long), 실수형(float, double)
  • 변수를 선언할 때 저장하려는 값의 특성을 고려하여 가장 알맞은 자료형을 변수의 타입으로 선택

 

기본형과 참조형

기본형(primitive type) - 논리형(boolean), 문자형(char), 정수형(byte, short, int, long), 실수형(float, double)
- 계산을 위한 실제 값 저장, 모두 8개
참조형(reference type) - 객체의 주소 저장, 기본형 8개를 제외한 나머지 타입

 

기본형

기본형 종류

분류 타입
논리형 boolean
true와 false 중 하나를 값으로 갖으며, 조건식과 논리적 계산에 사용됨
문자형 char
문자를 저장하는데 사용, 변수에 하나의 문자만 저장가능
정수형 byte, short, int, long
정수를 저장하는데 사용됨, 주로 int 사용, byte는 이진 데이터를 다룰 때 사용됨, short는 C언어와의 호환을 위해 추가됨
실수형 float, double
실수를 저장하는데 사용, 주로 double 사용
  • 기본형 변수는 실제(data) 저장
  • 문자형인 char는 문자를 내부적으로 정수(유니코드)로 저장 -> 정수형과 실수형 연산 가능
  • boolean은 다른 기본형과의 연산 불가능
  • boolean을 제외한 나머지 7개의 기본형은 서로 연산과 변환 가능
  • int는 CPU가 가장 효율적으로 처리할 수 있는 타입
  • 효율적인 실행보다 메모리 절약하려면, byte나 short  선택

기본형의 종류와 크기

  1 byte 2 byte 3 byte 4 byte
논리형 boolean      
문자형   char    
정수형 byte short int long
실수형     float double

 

참조형

  • 참조형 변수: 어떤 값이 저장되어 있는 주소(memory address)를 값으로 가짐
    • 참조형 변수를 선언할때 변수의 타입으로 클래스의 이름을 사용함(클래스의 이름이 참조변수의 타입)
    • 새로운 클래스를 작성한다는 것은 새로운 참조형을 추가하는 것
  • 자바는 C언어와 달리 참조형 변수 간의 연산을 할 수 없음 -> 실제 연산에 사용되는 것은 모두 기본형 변수

 

참조형 변수 선언 방법(Date 클래스 타입의 참조변수 today 선언)

클래스이름 변수이름; // 변수의 타입이 기본형이 아닌 것들은 모두 참조 변수
Date today = new Date(); // Date 객체 생성, 그 주소 today 저장

 

  • 객체를 생성하는 연산자 new의 결과는 생성된 객체의 주소
  • 이 주소는 대입연산자(=)에 의해 참조변수 today에 저장됨

 

'Java' 카테고리의 다른 글

.close()  (0) 2023.01.13
Scanner vs BufferedReader/BufferedWriter  (0) 2023.01.10
변수 variable  (0) 2023.01.06
자바 클래스 작성  (1) 2023.01.06
JVM(Java Virtual Machine)  (0) 2022.12.30