자료형
자료형이란 ? - Java의 자료형은 기본자료형(Primitive type)과 참조자료형(Reference type)이 있다.
기본 자료형의 종류
short, int, long, float, double, char, boolean, byte 등
논리형 : boolean (True, False)
문자형 : char ("hello")
정수형 : byte, short, int, long (1, 2, 3)
실수형 : float, double (ex 3.14)
boolean
논리형, 참과 거짓을 저장하는 타입, boolean의 기본값은 false
주로 yes/no, on/off 등의 논리 구현에 주로 사용되며 두가지 값만 표현하므로 가장 크기가 작다.
boolean은 실제로 1bit면 충분하지만, 데이터를 다루는 최소 단위가 1byte이므로 메모리 크기가 1byte이다.
char
문자형, 2byte의 문자 하나를 입력하는 데이터형이다.
문자 1개를 저장하는 데이터형이라고 아는것이 중요
char 변수명 = '값';
byte
정수형, 이진데이터를 다루는데 사용되는 타입.
short
정수형, C언어와의 호환을 위해 사용되는 타입
잘 사용되지는 않는 타입
int
정수형, 자바에서 정수 연산을 하기 위한 기본 타입.
byte 혹은 short 의 변수가 연산을 하면 연산의 결과는 int형이 된다.
long
정수형, 수치가 큰 데이터를 다루는 프로그램(은행 및 우주와 관련된 프로그램)에서 주로 사용하는 타입
long 타입의 변수를 초기화 할 때는 정수값 뒤에 알파벳 'L'을 붙여서 long 타입(즉, 8byte)의 정수 데이터임을 알려주어야 한다
(정수값이 int의 값의 저장 범위를 넘는 정수에서 'L'을 붙이지 않는다면 컴파일 에러가 발생한다.
long l = 2147483648; // 컴파일 에러 발생 long l = 2147483648L;)
float, double
실수형
float(4바이트) / double(8바이트)
실수를 가수와 지수 형식으로 저장하는 부동소수점 방식으로 저장된다.
가수를 표현하는데 있어 double형이 float형보다 표현 가능 범위가 더 크므로 double형이 보다 정밀하게 표현할 수 있다.
자바에서 실수의 기본 타입은 double형이므로 float형에는 알파벳 'F'를 붙여서 float 형임을 명시해주어야 한다.
참조형
조금 더 쉽게 설명하면 :
참조형 변수는 말 그대로 "참조"만 하는 변수야. 이건 실제 값을 저장하지 않고, 값을 어디에 놓아둔 "주소"만 저장하고 있어. 예를 들어, 네가 책을 어디에 뒀는지 기억해야 한다고 생각해 보자. 책 자체를 직접 들고 다니는 대신, 책이 책장 몇 번째 칸에 있는지 기억하는 거야. 그러면 나중에 그 위치를 참고해서 책을 찾을 수 있겠지?
참조형의 종류 :
객체(Object): 클래스(예: Car, Person)로부터 만들어지는 변수를 말해. 예를 들어, Car myCar = new Car();처럼 myCar라는 참조형 변수가 Car 객체를 가리키도록 하는 거야. 객체를 만들면 실제 데이터는 힙 메모리에 저장되고, myCar는 그 주소를 가지고 있어.
배열(Array): 같은 타입의 여러 값을 저장할 수 있는 변수야. 예를 들어 int[] numbers = {1, 2, 3};에서 numbers는 힙 메모리의 특정 위치에 있는 배열을 참조하지. 배열도 참조형 변수라서, numbers가 배열의 주소를 가지고 있어.
문자열(String): 문자들의 조합으로 구성된 값인데, 기본형처럼 보이지만 사실 참조형이야. 예를 들어 String name = "Alice";에서 name이라는 변수는 힙 메모리에 있는 문자열 "Alice"의 주소를 가지고 있는 참조형 변수야.