반응형
자바는 정적 타입 언어로, 변수를 선언할 때 데이터 타입을 명시해야 합니다.
자바의 데이터 타입은 크게 다음 두 가지로 나뉩니다.
- 기본형 (Primitive Type)
- 참조형 (Reference Type)
🔢 기본형 타입 (Primitive Type)
기본형 타입은 값 자체를 메모리에 저장합니다.
자바에는 총 8가지 기본형 타입이 있으며, 성능이 중요한 영역에서 자주 사용됩니다.
| 분류 | 타입 | 크기 | 예시 |
| 논리형 | boolean | 1 byte | true, false |
| 문자형 | char | 2 byte | 'a', '1' |
| 정수형 | byte, short, int, long | 1~8 byte | int x = 59;, long big = 123L; |
| 실수형 | float, double | 4, 8 byte | float f = 3.14f;, double d = 3.14; |
📌 Tip: 숫자 리터럴 뒤에 L(long), f(float) 같은 접미사를 붙이는 것을 잊지 마세요!
🔤 리터럴 (Literal)이란?
프로그래밍에서 리터럴이란, 소스 코드에 직접 입력된 고정된 값을 의미합니다.
즉, 변수나 연산이 아닌 "그 자체로 의미를 가지는 값" 을 말합니다.
예를 들어, 아래와 같은 것들이 모두 리터럴입니다.
| 리터럴 예시 | 설명 |
| true, false | 논리형(boolean) 리터럴 |
| 'a', '1' | 문자형(char) 리터럴 |
| 10, -5 | 정수형(int, long 등) 리터럴 |
| 3.14, 2.0f | 실수형(float, double) 리터럴 |
| "Hello" | 문자열(String) 리터럴 |
리터럴은 변수에 대입될 수 있으며, 타입에 따라 표현 방식이 조금씩 다릅니다.
예를 들어, 3.14f처럼 float 리터럴에는 f를 붙여야 하고, 123L처럼 long 리터럴에는 L을 붙여야 합니다.
🧭 참조형 타입 (Reference Type)
참조형 타입은 데이터가 저장된 메모리 주소(참조값)를 저장합니다.
즉, 변수에는 실제 값이 아닌 값이 저장된 메모리의 위치가 저장됩니다.
객체를 다룰 때는 new 키워드로 메모리를 할당하거나,
자바가 자동으로 생성하는 문자열 리터럴 등을 통해 객체를 참조합니다.
| 분류 | 설명 | 예시 |
| 클래스 | 객체를 생성할 수 있는 설계도 | String, Scanner, 사용자 정의 클래스 등 |
| 래퍼 클래스 | 기본형 값을 객체로 감싸는 클래스 | Integer, Double, Character, Boolean 등 |
| 인터페이스 | 추상 메서드의 집합, 구현 클래스에 따라 기능이 달라짐 | Runnable, Comparable 등 |
| 배열 | 같은 타입의 데이터를 연속적으로 저장 | int[] arr = {1, 2, 3}; |
| 열거형 (enum) | 상수들의 집합, 타입 안정성과 가독성을 높임 | enum Day { MON, TUE, ... } |
| 라이브러리 클래스 | 자바에서 제공하는 다양한 유틸리티 클래스 | ArrayList, HashMap 등 |
🔍 참조형 타입 사용 예시
String name = "Java";
int[] numbers = {1, 2, 3};
ArrayList<String> list = new ArrayList<>();
반응형
'Back end > Java' 카테고리의 다른 글
| AtomicInteger는 어떻게 동시성을 보장할까? - CAS 알고리즘 깊이 파헤치기 (0) | 2026.01.14 |
|---|---|
| [Java] static import 활용법 (0) | 2025.07.07 |
| [Java] 상수(Constant) (0) | 2025.05.26 |
| [Java] 변수(variable) (0) | 2025.05.26 |
| [Java] 주석의 종류 (구현 주석, 문서화 주석) (0) | 2025.05.22 |