
이미지 출처: Pexels · Pexels License
지난 편에서 첫 프로그램을 찍어 봤습니다. 이번엔 프로그램의 재료, 변수와 자료형입니다. 이름은 딱딱하지만 개념은 아주 쉽습니다. 지하철에서 5분이면 됩니다.
변수란 무엇인가
변수는 값을 담아 두는 상자입니다. 이름을 붙여 두고, 나중에 그 이름으로 꺼내 씁니다.
쉽게 — 변수는 이름표를 붙인 택배 상자입니다.
나이라는 상자에15를 넣어 두면, 나중에나이라고만 부르면 15가 나옵니다. 상자 속 내용은 언제든 바꿀 수 있습니다(그래서 "변"하는 수, 변수).
int age = 15; // age 상자에 15를 넣음
System.out.println(age); // 15
age = 16; // 상자 내용을 16으로 바꿈
System.out.println(age); // 16
함정 —
=는 "같다"가 아니라 **"오른쪽 값을 왼쪽 상자에 넣어라(대입)"**입니다.age = 16은 "age와 16이 같다"가 아니라 "age에 16을 넣어라"입니다.
자료형이란 무엇인가
자료형은 상자의 종류입니다. 담을 값이 정수인지, 소수인지, 글자인지에 따라 맞는 상자를 골라야 합니다.
쉽게 — 국 담는 그릇, 밥 담는 그릇이 다르듯 값도 종류에 맞는 상자가 있습니다. 정수는 정수 상자, 소수는 소수 상자에 담습니다.

| 자료형 | 담는 것 | 예시 |
|---|---|---|
int | 정수 | int n = 10; |
double | 소수 | double pi = 3.14; |
char | 글자 한 개 | char c = 'A'; |
boolean | 참/거짓 | boolean ok = true; |
String | 글자 여러 개(문자열) | String name = "민수"; |
함정 —
char는 작은따옴표'A',String은 큰따옴표"민수"입니다. 따옴표 종류가 다릅니다.
자주 틀리는 곳 — 정수 나눗셈
여기서 초보가 거의 다 한 번은 당합니다.
System.out.println(10 / 3); // 3 (?!)
System.out.println(10.0 / 3); // 3.3333...
단골 함정 — 정수(
int)끼리 나누면 소수점 아래를 버립니다.10 / 3은 3.33이 아니라 3입니다. 소수 결과가 필요하면 한쪽을 소수(10.0)로 만들어야 합니다.
변수 이름 규칙 (짧게)
- 영문·숫자·
_만 쓰고, 숫자로 시작 금지 (2age는 안 되고age2는 됩니다) - 대소문자 구분 (
age와Age는 다른 이름) - 뜻이 통하게 (
a보다age가 낫습니다)
한 장 정리
| 개념 | 뜻 |
|---|---|
| 변수 | 값을 담는 상자(이름으로 꺼내 씀) |
| 자료형 | 상자의 종류(int·double·char·boolean·String) |
= | 오른쪽 값을 왼쪽에 대입 |
| 정수 나눗셈 | 소수점 버림(10/3=3) |
이것만 기억하면 됩니다. 변수는 이름표 붙인 상자, 자료형은 상자의 종류입니다. =는 "넣어라"이고, 정수끼리 나누면 소수점이 버려집니다.
미니 퀴즈
개념을 제대로 잡았는지 직접 풀어 봅니다. 정답은 눌러야 나옵니다.
미니 퀴즈
포켓코딩(JAVA1) 2편 · 예제 출처: 강사 개인 GitHub 저장소. 다음 편: 형변환 — 다른 그릇에 옮겨 담기.