안녕하세요~ 경제적 자유입니다.
오늘은 Java의 변수, 리터럴, 기본 자료형을 리뷰해보려고 합니다.
Java를 처음 공부할 때 가장 먼저 만나는 개념 중 하나가 바로 변수입니다.
변수는 쉽게 말하면 값을 담아두는 상자라고 생각하면 됩니다.
예를 들어 사람 이름을 저장하고 싶다면 이름을 담을 상자가 필요하고, 나이를 저장하고 싶다면 나이를 담을 상자가 필요합니다.
Java에서는 이 상자를 만들 때 “어떤 종류의 값을 담을 것인지”를 먼저 정해줘야 합니다.
추가로 더 자세히 공부하고 싶다면 아래 Java 문서를 참고해보세요.
- 참고 링크: Programiz - Java Variables and Literals
- 참고 링크: Programiz - Java Primitive Data Types
- 참고 링크: Oracle Java Tutorial - Primitive Data Types
1. 변수란?
변수란 값을 저장하기 위한 메모리 공간에 붙인 이름입니다.
조금 쉽게 말하면, 변수는 데이터를 담는 상자입니다.
String name = "상구";
int age = 20;
위 코드에서 name은 "상구"라는 문자열을 저장하는 변수이고,
age는 20이라는 숫자를 저장하는 변수입니다.
Java에서는 변수를 만들 때 보통 아래와 같은 형태를 사용합니다.
자료형 변수이름 = 값;
예를 들면 다음과 같습니다.
int number = 10;
여기서 각각의 의미는 다음과 같습니다.
- int : 정수를 저장하겠다는 뜻
- number : 변수 이름
- 10 : 변수에 저장할 값
변수가 필요한 이유는 값을 한 번 저장해두고, 그 값을 여러 번 재사용할 수 있기 때문입니다.
예를 들어 이름을 여러 번 출력해야 할 때 매번 "상구"라고 직접 쓰는 것보다, 변수에 담아두고 사용하는 것이 더 편합니다.
public class Main {
public static void main(String[] args) {
String name = "상구";
System.out.println(name);
System.out.println(name + "님 안녕하세요!");
System.out.println(name + "님 공부 화이팅!");
}
}
코드로 이해하기
public class Main {
public static void introduce(String 상구) {
System.out.println("안녕하세요. 제 이름은 " + 상구 + "입니다.");
}
public static void main(String[] args) {
introduce("상구");
}
}
위 코드에서 상구는 introduce 메서드의 parameter입니다.
parameter는 메서드가 실행될 때 외부에서 값을 받아오는 변수라고 생각하면 됩니다.
introduce("상구");
이렇게 호출하면 "상구"라는 값이 상구라는 parameter에 들어가고, 출력 결과는 다음과 같습니다.
안녕하세요. 제 이름은 상구입니다.
실무에서는 보통 parameter 이름을 영어로 작성하지만, Java에서는 한글 변수명도 사용할 수 있습니다.
다만 협업과 가독성을 생각하면 영어 변수명을 사용하는 경우가 훨씬 많습니다.
2. 리터럴이란?
리터럴이란 코드에 직접 적은 고정된 값입니다.
예를 들어 아래 코드에서 10, "상구", true가 리터럴입니다.
int age = 10;
String name = "상구";
boolean isStudent = true;
변수는 값을 담는 상자이고, 리터럴은 그 상자 안에 넣는 실제 값이라고 이해하면 쉽습니다.
int number = 100;
여기서 number는 변수이고, 100은 리터럴입니다.
리터럴이 필요한 이유
프로그램은 결국 값을 다루기 위해 존재합니다.
나이, 이름, 점수, 참/거짓, 소수점 숫자 같은 값을 코드 안에서 직접 표현해야 하는데, 이때 사용하는 것이 리터럴입니다.
int score = 95;
double temperature = 36.5;
char grade = 'A';
boolean passed = true;
String name = "상구";
각각의 값은 코드에 직접 적혀 있으므로 리터럴입니다.
초보자가 헷갈릴 수 있는 부분
문자 하나를 표현할 때는 작은따옴표를 사용합니다.
char grade = 'A';
문자열을 표현할 때는 큰따옴표를 사용합니다.
String name = "상구";
즉, Java에서는 'A'와 "A"가 다릅니다.
char oneLetter = 'A';
String text = "A";
char는 문자 하나이고, String은 문자열입니다.
코드로 이해하기
public class Main {
public static void printName(String 상구) {
System.out.println("이름: " + 상구);
}
public static void main(String[] args) {
printName("상구");
int age = 20;
double height = 175.5;
boolean isStudent = true;
char grade = 'A';
System.out.println("나이: " + age);
System.out.println("키: " + height);
System.out.println("학생 여부: " + isStudent);
System.out.println("등급: " + grade);
}
}
여기서 "상구", 20, 175.5, true, 'A'는 모두 리터럴입니다.
3. 기본 자료형이란?
기본 자료형은 Java에서 미리 정해둔 가장 기본적인 데이터 타입입니다.
Java에는 대표적으로 8개의 기본 자료형이 있습니다.
byte
short
int
long
float
double
char
boolean
이 자료형들은 숫자, 문자, 참/거짓 같은 기본적인 값을 저장할 때 사용합니다.
기본 자료형이 필요한 이유
Java는 변수를 만들 때 어떤 종류의 값을 저장할지 정해야 합니다.
예를 들어 나이는 정수이므로 int를 사용할 수 있습니다.
int age = 20;
키는 소수점이 필요할 수 있으므로 double을 사용할 수 있습니다.
double height = 175.5;
참/거짓은 boolean을 사용합니다.
boolean isStudent = true;
이렇게 자료형을 명확하게 정하면, Java가 잘못된 값이 들어가는 것을 미리 막아줄 수 있습니다.
예를 들어 int 변수에는 문자열을 넣을 수 없습니다.
int age = "스무 살"; // 오류 발생
Java는 정적 타입 언어이기 때문에 변수의 자료형이 중요합니다.
4. 정수형 자료형이란?
정수형 자료형은 소수점이 없는 숫자를 저장할 때 사용합니다.
대표적으로 다음과 같은 자료형이 있습니다.
byte
short
int
long
일반적으로 정수를 저장할 때는 가장 많이 int를 사용합니다.
int age = 20;
int score = 95;
숫자가 아주 큰 경우에는 long을 사용합니다.
long population = 5000000000L;
여기서 숫자 뒤에 붙은 L은 이 값이 long 타입이라는 것을 알려주는 표시입니다.
초보자가 헷갈릴 수 있는 부분
정수라고 해서 무조건 아무 숫자나 저장할 수 있는 것은 아닙니다.
각 자료형마다 저장할 수 있는 범위가 다릅니다.
처음 Java를 공부할 때는 너무 복잡하게 외우기보다는 이렇게 이해하면 좋습니다.
- 일반적인 정수는 int
- 아주 큰 정수는 long
- 메모리를 세밀하게 관리해야 하는 상황에서는 byte, short
초보 단계에서는 int와 long을 먼저 익히는 것이 좋습니다.
코드로 이해하기
public class Main {
public static void printAge(String 상구, int age) {
System.out.println(상구 + "의 나이는 " + age + "살입니다.");
}
public static void main(String[] args) {
int age = 20;
long money = 10000000000L;
printAge("상구", age);
System.out.println("보유 금액: " + money);
}
}
5. 실수형 자료형이란?
실수형 자료형은 소수점이 있는 숫자를 저장할 때 사용합니다.
대표적으로 다음 두 가지가 있습니다.
float
double
Java에서는 소수점 숫자를 사용할 때 보통 double을 많이 사용합니다.
double height = 175.5;
double temperature = 36.5;
float을 사용할 때는 숫자 뒤에 F를 붙여야 합니다.
float weight = 70.5F;
float과 double의 차이
둘 다 소수점 숫자를 저장하지만, double이 더 정밀한 값을 저장할 수 있습니다.
그래서 특별한 이유가 없다면 소수점 숫자는 보통 double을 사용하면 됩니다.
코드로 이해하기
public class Main {
public static void printHeight(String 상구, double height) {
System.out.println(상구 + "의 키는 " + height + "cm입니다.");
}
public static void main(String[] args) {
double height = 175.5;
float weight = 70.5F;
printHeight("상구", height);
System.out.println("몸무게: " + weight + "kg");
}
}
6. char와 boolean이란?
char는 문자 하나를 저장하는 자료형입니다.
char grade = 'A';
주의할 점은 char는 반드시 작은따옴표를 사용한다는 것입니다.
char firstLetter = 'S';
반면 boolean은 참 또는 거짓을 저장하는 자료형입니다.
boolean isStudent = true;
boolean isFinished = false;
boolean은 조건문에서 자주 사용됩니다.
if (isStudent) {
System.out.println("학생입니다.");
}
초보자가 헷갈릴 수 있는 부분
boolean에는 true 또는 false만 들어갈 수 있습니다.
boolean result = true;
코드로 이해하기
public class Main {
public static void checkStudent(String 상구, boolean isStudent) {
if (isStudent) {
System.out.println(상구 + "는 학생입니다.");
} else {
System.out.println(상구 + "는 학생이 아닙니다.");
}
}
public static void main(String[] args) {
char grade = 'A';
boolean isStudent = true;
System.out.println("등급: " + grade);
checkStudent("상구", isStudent);
}
}
7. String은 기본 자료형일까?
초보자가 자주 헷갈리는 부분이 바로 String입니다.
String name = "상구";
String은 정말 자주 사용되기 때문에 기본 자료형처럼 보일 수 있습니다.
하지만 Java에서 String은 기본 자료형이 아니라 참조 자료형입니다.
기본 자료형은 다음 8개입니다.
byte, short, int, long, float, double, char, boolean
String은 이 8개에 포함되지 않습니다.
그렇다고 해서 어렵게 생각할 필요는 없습니다.
처음에는 “문자열을 저장할 때는 String을 사용한다” 정도로 이해해도 충분합니다.
코드로 이해하기
public class Main {
public static void sayHello(String 상구) {
System.out.println("안녕하세요, " + 상구 + "님!");
}
public static void main(String[] args) {
String name = "상구";
sayHello(name);
}
}
여기서 String name = "상구";는 문자열을 저장하는 코드입니다.
다만 String은 기본 자료형이 아니라 참조 자료형이라는 점만 기억하면 좋습니다.
8. final로 상수 만들기
JavaScript에는 const가 있지만, Java에서는 보통 final을 사용해서 한 번 정한 값을 바꾸지 못하게 합니다.
final int MAX_SCORE = 100;
final이 붙은 변수는 값을 다시 바꿀 수 없습니다.
final int MAX_SCORE = 100;
MAX_SCORE = 90; // 오류 발생
그래서 변하지 않아야 하는 값에는 final을 사용할 수 있습니다.
예를 들어 최대 점수, 고정 할인율, 변하지 않는 설정값 등에 사용할 수 있습니다.
코드로 이해하기
public class Main {
public static void printMaxScore(String 상구) {
final int MAX_SCORE = 100;
System.out.println(상구 + "가 받을 수 있는 최대 점수는 " + MAX_SCORE + "점입니다.");
}
public static void main(String[] args) {
printMaxScore("상구");
}
}
상수 이름은 보통 대문자와 언더스코어를 사용해서 작성합니다.
final int MAX_SCORE = 100;
final double PI = 3.14;
마무리
오늘은 Java의 변수, 리터럴, 기본 자료형에 대해 정리해봤습니다.
변수는 값을 담는 상자이고, 리터럴은 코드에 직접 적은 값이며, 기본 자료형은 Java가 미리 준비해둔 가장 기본적인 값의 종류입니다.
처음에는 int, double, boolean, char, String부터 익숙해지는 것을 추천합니다.
공부화이팅!
'웹 개발 > JAVA' 카테고리의 다른 글
| [Java(5)] 흐름제어: break, continue, switch (0) | 2026.06.18 |
|---|---|
| [Java(6)] 배열, 한번에 여러 값을 다루는 가장 기본적인 방법 (0) | 2026.06.18 |
| [Java(4)] 반복문, for문부터 do-while문까지 흐름으로 이해하기 (0) | 2026.06.18 |
| [Java(3)]조건문, 코드가 스스로 판단하게 만드는 첫 번째 문법 (0) | 2026.06.17 |
| [Java(2)]연산자, 입출력, 표현식·문장·블록 쉽게 이해하기 (0) | 2026.06.17 |
