✔️ Java의 데이터 타입
Java의 데이터 타입
- 자바의 데이터 타입에는 기본형 타입과 참조형 타입이 존재
기본형 타입 (Primitive Type)
- Java에서는 총 8가지의 기본형 타입을 미리 정의하고 제공함
- 논리형
- boolean (1byte) : 참(true)과 거짓(false)을 저장하는 타입으로 주로 논리 구현에 사용
- 문자형
- char (2byte) : 문자 데이터를 다루는데 사용하는 타입
- 정수형
- byte (1byte) : 이진 데이터를 다루는데 사용하는 타입
- short (2byte) : C언어와의 호환을 위해 사용하는 타입으로 잘 사용되지 않음
- int (4byte) : 자바에서 정수 연산을 하기 위한 기본 타입으로 byte, short 변수가 연산을 하면 int형으로 결과가 변환됨
- long (8byte) : 수치가 큰 데이터를 다루는 프로그램에서 주로 사용하는 타입
- 실수형
- float (4byte) : 실수를 가수와 지수 형식으로 저장하는 타입
- double (8byte) : float보다 표현 가능 범위가 더 큰 타입으로 보다 정밀하게 표현 가능
- 논리형
- 자바에서 기본 자료형은 반드시 사용하기 전에 선언되어야 하며 초기화를 하지 않으면 자료형에 맞는 기본 값이 들어가게 됨
- OS에 따라 자료형의 길이가 변하지 않음
- 비객체 타입이므로 Null 값을 가질 수 없으므로 만약 기본형 타입에 Null을 넣고 싶다 Wrapper Class를 활용
- 기본형 타입의 데이터는 Stack 메모리에 저장됨
참조형 타입 (Reference Type)
- Java에서 기본형 타입을 제외한 타입들은 모두 참조형 타입
- Java에서 최상위 java.lang.Object 클래스를 상속하는 모든 클래스들
- 배열 (Array)
- 열거 (Enum)
- 클래스 (Class)
- 인터페이스 (Interface)
- new 키워드를 이용하여 메모리 영역인 Heap 영역에 생성하게 되고, GC가 돌면서 메모리를 해제하게 됨
- 빈 객체를 의미하는 Null이 존재하며
문법상으로는 에러가 없지만 실행시켰을 때 런타임 에러인 NullPointException이 발생하므로 변수 값을 넣어야 함 - Heap 메모리에 생성된 인스턴스는 메소드나 각종 인터페이스에 접근하기 위해
JVM의 Stack 영역에 참조값(메모리 상에서 객체가 존재하는 주소)을 가지고 있어 이를 통해 인스턴스를 핸들링
'Tech Interview > Language' 카테고리의 다른 글
[Language] ==와 equals() (0) | 2024.03.12 |
---|---|
[Language] 값에 의한 호출 & 참조에 의한 호출 (0) | 2024.03.11 |
[Language] 객체 지향 프로그래밍 (0) | 2024.03.06 |
[Language] 가비지 컬렉션 (0) | 2024.03.05 |
[Language] Java 컴파일 과정 (0) | 2024.03.04 |