안녕하세요 로코입니다.😃
이전 포스팅에서 public class static main 등등의 의미를 하나씩 알아보았느데요
그중에서 String[] 이 있었는데 제가 문자열을 가리키는 자료형 배열이라고 해서 궁금하신 분들이 있을 것 같아서
정리를 한번 해보았습니다.
자바 자료형(Data Type) 이란?
자바에서는 모든 변수에 타입을 을 정의해줘야 하며, 변수가 가지는 타입에 따라 담을 수 있는 값의 종류가 달라집니다.
변수에 저장하는 형과 값이 맞지 않는 경우 변수는 값을 가질 수 없고 값도 변수에게 전달될 수 없습니다.
변수 타입은 크게 기본형(Primitive Type)과 참조형(Reference Type)으로 구분할 수 있습니다.
기본 자료형 (Data Type)
기본형은 실제 값(데이터)을 담을 수 있는 변수의 타입입니다.
총 8개로 구분하며 크게는 논리형, 문자형, 정수형, 실수형으로 구분할 수 있습니다.
논리형 변수 타입 : blooean
public class Main {
public static void main(String[] args) {
boolean a = true;
boolean b = false;
System.out.println("논리형 타입: " + a);
}
}
논리의 참과 거짓을 의미하며 true, false 하나의 값을 저장합니다.
문자형 변수 타입 : char
public class Main {
public static void main(String[] args) {
char a1 = 'A';
char a2 = 65;
char a3 = 0x0041;
System.out.println("문자형 : " + a1);
System.out.println("10진수형 : " +a2);
System.out.println("16진수형 : " +a3);
}
}
하나의 문자를 작은따옴표(')로 감싼 것을 문자 리터럴이라고 합니다. 문자 리터럴 은유 니코 드로 변환되어 저장됩니다.
유니코드는 세계 각국의 문자를 2 byte로 표현할 수 있는 숫자(0~65535)로 매핑한 국제 표준 규약입니다.
자바는 이러한 유니코드를 저장할 수 있도록 2byte 크기인 char 타입을 제공합니다.
정수형 변수 타입 : byte, short, int, long
public class Main {
public static void main(String[] args) {
byte b = 127;
short s = 32767;
int i= 2147483647;
long l = 9223372036854775807L;
System.out.println("byte : " + b);
System.out.println("short : " +s);
System.out.println("int : " + i);
System.out.println("long : " + l);
}
}
정수(Integer)로 표현되는 숫자를 저장합니다.
※ long 타입의 변수는 데이터 값 끝에 L로 표기를 해줘야 합니다.
실수형 변수 타입 : double, float
public class Main {
public static void main(String[] args) {
double d = 127.234;
float f = 3.1234567f;
System.out.println("byte : " + d);
System.out.println("float : " +f);
}
}
실수(Floating point)로 표현되는 숫자를 저장합니다.
※ float 타입의 변수는 데이터 값 끝에 f로 표기를 해줘야 합니다.
참조형 타입(Reference Type)
참조형 타입은 기본형 타입을 뺀 모든 형태(Type)를 참조형 타입으로 볼 수 있습니다.
코드를 작성할 때 기본형 이외에 수많은 변수 형태들을 만들어내기 때문에 딱 국한 지어 말을 할 수 없기 때문입니다.
그렇게 범주를 나눠본다면 아래와 같습니다.
- 배열(array [])
- 열거(enum)
- 클래스(class)
- 인터페이스(interface)
자바에서 프로그래밍을 할 때 문자를 String으로 많이 사용하는데, String은 기본형처럼 사용하지만 실제는 참조형 변수입니다.
참조형의 특징
- 참조형 변수 안에는 값들을 저장하고 있는 객체를 가리키는 주소를 가지고 있습니다.
- 예) 기본형처럼 직접 값(a)을 담는 A라는 변수가 아닌, a를 가리키고 있는 주소를 가지고 있는 변수가 생성됩니다.
- 힙 영역에 저장합니다.
스택과 힙
스택 :기본형 타입 변수들과 그 값들이 함께 저장된다.- 힙 영역에 저장되어 있는 참조형 타입 변수들의 reference(주소)가 저장된다.- 정적인 것들이 저장되는 곳
힙 :참조형 타입의 변수들이 저장된다. (new연산자를 통해 생성된 인스턴스 변수가 저장된다.) - (cf. 인스턴스 변수의 reference는 스택에 저장)- 동적인 것들이 저장되는 곳
그럼 또 좋은 포스팅으로 돌아오겠습니다
긴 글 읽어주셔서 감사합니다😊😊😊
'프로그래밍 > JAVA' 카테고리의 다른 글
[JAVA] 자바 산술 연산자 과 단항 연산자 (0) | 2022.10.09 |
---|---|
[JAVA] 주석 종류 와 사용해보기 (0) | 2022.10.08 |
[JAVA] public class static void main 이란? (2) | 2022.10.04 |
[JAVA] 프로그래밍 명명 규칙 과 표기법 종류 (0) | 2022.10.02 |
[JAVA] 변수(Variable) 선언과 출력해보기 (0) | 2022.10.01 |