포스트

JAVA (2) - 변수, 자료형, 형변환

JAVA (2) - 변수, 자료형, 형변환

1. 변수 (Variable)

변수란 데이터를 저장할 수 있는 메모리 공간을 의미한다. 프로그램이 실행되는 동안 값이 변경될 수 있다.

  • 선언과 할당: 변수를 사용하려면 먼저 어떤 타입의 데이터를 담을지 타입이름을 지정(선언)해야 하며, 이후 값을 저장(초기화/할당)한다. ```java int age; // 변수 선언 age = 25; // 값 할당 int count = 0; // 선언과 동시에 초기화
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53

* **명명 규칙 (Naming Convention)**:
* 첫 글자는 소문자로 시작하는 카멜 케이스(camelCase)를 권장한다 (예: `studentScore`).
* 숫자로 시작할 수 없으며, 예약어(e.g. `class`, `public`, `int`)는 사용 불가하다.
* 대소문자를 구분한다 (`age`와 `Age`는 서로 다름).



---

### 2. 자료형 (Data Type)

자바의 자료형은 크게 기본형(Primitive Type)과 참조형(Reference Type)으로 나뉜다.

#### 기본형 (Primitive Type)

실제 값을 메모리에 저장하며, 총 8개가 존재한다.

| 분류 | 종류 | 크기 | 표현 범위 / 특징 |
| --- | --- | --- | --- |
| **논리형** | `boolean` | 1 byte | `true`, `false` 조건식 판단에 사용 |
| **문자형** | `char` | 2 byte | 유니코드 단일 문자 표현 (예: `'A'`, `'가'`) |
| **정수형** | `byte` | 1 byte | -128 ~ 127 |
|  | `short` | 2 byte | -32,768 ~ 32,767 |
|  | `int` | 4 byte | -2,147,483,648 ~ 2,147,483,647 (**정수 기본형**) |
|  | `long` | 8 byte | 큰 정수 표현. 리터럴 뒤에 `L` 또는 `l` 추가 |
| **실수형** | `float` | 4 byte | 소수점 정밀도 낮음. 리터럴 뒤에 `F` 또는 `f` 추가 |
|  | `double` | 8 byte | 높은 정밀도 (**실수 기본형**) |

> **리터럴 표기 시 주의점**: `long` 타입 값 뒤에는 `L`, `float` 타입 값 뒤에는 `F` 접미사를 반드시 붙여야 한다.

#### 참조형 (Reference Type)

객체의 주소(Reference)를 저장하는 타입이다. 기본형 8개를 제외한 모든 타입(String, 배열, 클래스 등)이 이에 속한다.

---

### 3. 형변환 (Casting)

형변환이란 변수나 리터럴의 타입을 다른 타입으로 변환하는 것을 말한다.

#### 자동 형변환 (암묵적 형변환 / Implicit Casting)

작은 크기의 자료형에서 큰 크기의 자료형으로 변환될 때 자바 컴파일러가 자동으로 처리한다. 데이터 손실이 발생하지 않는다.

* **변환 범위 크기 순서**:
`byte` $\rightarrow$ `short`/`char` $\rightarrow$ `int` $\rightarrow$ `long` $\rightarrow$ `float` $\rightarrow$ `double`

```java
int intVal = 100;
double doubleVal = intVal; // int가 double로 자동 형변환 (100.0)

강제 형변환 (명시적 형변환 / Explicit Casting)

큰 크기의 자료형을 작은 크기의 자료형에 저장할 때 사용한다. 데이터 손실(값 넘침/truncation)이 발생할 수 있으므로 개발자가 캐스팅 연산자 (타입)를 명시해야 한다.

1
2
3
double pi = 3.14159;
int intPi = (int) pi; // double -> int 강제 형변환 (소수점 이하 버려짐, 결과: 3)

이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.