1. 데이터 타입 분류
기본 타입 : 정수, 실수, 문자 , 논리 리터럴을 저장하는 타입 (실제 값 저장)
참조 타입 : 실제 객체가 아닌 객체가 있는 메모리 주소를 가르키기 때문에 객체가 복사되지 않고 동일한 객체에 여러 참조가 가능하다.
2. 기본 타입
1) 정수형. (Integer types)
byte : 1바이트 (8비트) -128~127
가장 작은 정수형 타입.
short : 2바이트 (16비트) -31768 ~ 32767
주로 int를 사용하기에 사용빈도는 낮은 편
int : 4바이트 (32비트) -2,147,483,648 ~ 2,147,483,647
가장 일반적으로 사용하는 정수형 타입
long : 8 바이트 (64비트) -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807
2) 실수형
float : 4 바이트 (32비트) . 소숫점 이하 7자리까지 표현 가능
double : 8 바이트 (64비트) . 소수점 이하 약 15~16자리까지 표현 가능
3) 문자형 (<->문자열과는 다른 것)
한 개의 문자를 저장하는 데이터 타입.
문자형 변수는 주로 문자(char)를 저장하며, 각 문자는 유니코드 또는 ASCII 코드로 변환되어 메모리에 저장
char : 2 바이트 (16비트, 유니코드 문자)
char ch = 'A'; # 단일 문자 저장
String str = "Hello"; # 여러 문자 저장
char ch = 'A'; # 단일 문자 저장
char str[] = "Hello"; # 여러 문자 저장 (문자열)
4) 논리형
bloolean : 1비트 (실제 구현에서는 1바이트 또는 그 이상을 차지할 수 있음)
true 또는 false
논리형 변수의 주요 사용
if, else if, else와 같은 조건문에서 논리형 변수를 사용하여 조건에 따라 프로그램의 흐름을 제어.
if (isJavaFun) {
System.out.println("Java is fun!");
} else {
System.out.println("Java is not fun.");
}
논리 연산자
- AND 연산자(&&): 두 조건이 모두 참일 때 참이 됨.
- OR 연산자(||): 두 조건 중 하나라도 참이면 참이 됨.
- NOT 연산자(!): 조건의 값을 반대로 바꿈.
루프 조건
논리형 변수는 루프에서 반복을 계속할지 멈출지를 결정하는 조건으로 자주 사용.
3. 참조 타입
참조 타입 : 배열, 열거, 클래스, 인터페이스
참조형 변수의 주요 특징
- 메모리 주소 참조: 힙(Heap) 메모리에 객체가 저장.
스택(Stack) 메모리에는 이 객체의 참조값(메모리 주소)만 저장 - 객체와 클래스: 참조형 변수는 기본적으로 객체를 가리킴.
Java에서 참조형 변수로 다룰 수 있는 객체는 대부분 클래스의 인스턴스이다. - 초기화: 참조형 변수는 초기화하지 않으면 null 값을 가짐.
null은 어떠한 객체도 참조하지 않는 상태를 나타냄. - 비교: 참조형 변수를 비교할 때는 == 연산자를 사용하면 메모리 주소를 비교.
객체의 내용을 비교하려면 .equals() 메서드를 사용해야 함.
배열 (Array)
클래스 (Class)
인터페이스 (Interface)
열거형 (Enum)
+
String
ArrayList
<메모리 할당 영역에 관한 전개도>