Java의 기본형과 참조형, String, 리터럴, 상수와 var 키워드를 익힌다.
변수와 타입
변수는 값을 담아 두는 이름 붙은 저장 공간입니다. Java는 타입을 명시하는 언어라서, 변수를 만들 때 어떤 종류의 값을 담을지 먼저 정합니다. 타입을 분명히 하면 컴파일러가 잘못된 사용을 미리 잡아 줍니다.
학습 목표
- 기본형(primitive type)과 참조형(reference type)의 차이를 이해한다.
int,long,double,boolean,char의 쓰임새를 익힌다.- 리터럴과 상수(
final), 그리고var를 사용할 수 있다. String의 기본 사용법을 배운다.
기본형 타입
Java의 기본형은 값 자체를 직접 담는 타입입니다. 정수, 실수, 논리, 문자를 표현합니다.
int count = 10; // 정수 (약 ±21억)
long population = 51_700_000L; // 큰 정수, 끝에 L
double price = 1980.5; // 실수
boolean active = true; // 참/거짓
char grade = 'A'; // 문자 하나, 작은따옴표
자주 쓰는 기본형은 다음과 같습니다.
| 타입 | 크기 | 표현 범위/예시 | 기본값 |
|---|---|---|---|
int | 4바이트 | 약 -21억 ~ 21억 | 0 |
long | 8바이트 | 매우 큰 정수 | 0L |
double | 8바이트 | 실수 | 0.0 |
boolean | 1비트 논리값 | true/false | false |
char | 2바이트 | 문자 하나 'A' | '�' |
💡 TIP — 큰 숫자는
1_000_000처럼 언더스코어로 자릿수를 구분해 적을 수 있습니다. 가독성이 좋아지며 값에는 영향이 없습니다.
참조형과 String
기본형이 아닌 타입은 모두 참조형입니다. 객체가 저장된 위치를 가리키며, 대표적으로 String이 있습니다.
String name = "홍길동";
String message = "안녕하세요, " + name + "님"; // 문자열 연결
int len = message.length(); // 문자열 길이
String upper = "java".toUpperCase(); // "JAVA"
String은 한 번 만들어지면 내용이 바뀌지 않는(immutable) 특성을 가집니다. +로 연결하면 새 문자열이 만들어집니다.
⚠️ 주의 —
char는 작은따옴표'A',String은 큰따옴표"A"를 사용합니다. 둘은 전혀 다른 타입입니다.
리터럴
리터럴은 코드에 직접 적는 값 그 자체입니다.
int decimal = 255; // 10진수
int hex = 0xFF; // 16진수 (255)
int binary = 0b1010; // 2진수 (10)
double scientific = 1.5e3; // 1500.0
boolean flag = false;
char ch = '한';
상수 final
값이 바뀌면 안 되는 변수는 final로 선언합니다. 다시 대입하려 하면 컴파일 오류가 납니다.
final double PI = 3.14159;
final int MAX_USERS = 100;
// PI = 3.14; // 오류! final 변수는 재대입 불가
관례적으로 상수 이름은 모두 대문자에 단어 사이를 _로 구분합니다.
var로 타입 추론
지역 변수에서는 var를 사용해 타입을 생략할 수 있습니다. 컴파일러가 오른쪽 값을 보고 타입을 추론합니다.
var age = 30; // int로 추론
var name = "syw"; // String으로 추론
var price = 1980.5; // double로 추론
다만 var는 초기값이 반드시 있어야 하며, 필드(클래스 멤버)에는 사용할 수 없습니다.
💡 TIP —
var는 코드를 간결하게 하지만, 타입이 한눈에 보이지 않으면 가독성이 떨어질 수 있습니다. 값에서 타입이 분명할 때 사용하는 것이 좋습니다.
요약
- 기본형은 값을 직접 담고, 참조형은 객체의 위치를 가리킵니다.
int,long,double,boolean,char가 자주 쓰이는 기본형입니다.String은 변경 불가능하며+로 연결할 수 있습니다.final은 상수를,var는 타입 추론을 위한 키워드입니다.- 리터럴은 진법과 형식에 따라 다양하게 표현됩니다.
연습문제
- 자신의 나이를 담는
int변수와 이름을 담는String변수를 선언하고, "OO님은 OO세입니다" 형식으로 출력하세요. - 원주율을
final double상수로 선언하고, 반지름 5인 원의 넓이를 계산해 출력하세요. var를 사용해 정수, 실수, 문자열 변수를 각각 하나씩 만들고 모두 출력하세요.- 16진수 리터럴
0xFF를int변수에 담아 10진수로 출력하세요.
힌트 — 문자열 연결은
+, 원 넓이는반지름 * 반지름 * PI입니다.
💡 연습문제 풀이
불러오는 중…
댓글 0
“Java” 강좌에 대한 댓글입니다.