dev.syw

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';        // 문자 하나, 작은따옴표

자주 쓰는 기본형은 다음과 같습니다.

타입크기표현 범위/예시기본값
int4바이트약 -21억 ~ 21억0
long8바이트매우 큰 정수0L
double8바이트실수0.0
boolean1비트 논리값true/falsefalse
char2바이트문자 하나 '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는 초기값이 반드시 있어야 하며, 필드(클래스 멤버)에는 사용할 수 없습니다.

💡 TIPvar는 코드를 간결하게 하지만, 타입이 한눈에 보이지 않으면 가독성이 떨어질 수 있습니다. 값에서 타입이 분명할 때 사용하는 것이 좋습니다.

요약

  • 기본형은 값을 직접 담고, 참조형은 객체의 위치를 가리킵니다.
  • int, long, double, boolean, char가 자주 쓰이는 기본형입니다.
  • String은 변경 불가능하며 +로 연결할 수 있습니다.
  • final은 상수를, var는 타입 추론을 위한 키워드입니다.
  • 리터럴은 진법과 형식에 따라 다양하게 표현됩니다.

연습문제

  1. 자신의 나이를 담는 int 변수와 이름을 담는 String 변수를 선언하고, "OO님은 OO세입니다" 형식으로 출력하세요.
  2. 원주율을 final double 상수로 선언하고, 반지름 5인 원의 넓이를 계산해 출력하세요.
  3. var를 사용해 정수, 실수, 문자열 변수를 각각 하나씩 만들고 모두 출력하세요.
  4. 16진수 리터럴 0xFFint 변수에 담아 10진수로 출력하세요.

힌트 — 문자열 연결은 +, 원 넓이는 반지름 * 반지름 * PI입니다.

💡 연습문제 풀이

불러오는 중…

함께 보면 좋은 자료

댓글 0

Java” 강좌에 대한 댓글입니다.

댓글을 작성하려면 로그인이 필요합니다.