💡 변수(Variable)란?
변수(Variable)는 데이터를 저장하고 처리하기 위해 메모리 공간에 이름을 붙인 것입니다. 변수를 사용하면 프로그램 실행 중 데이터를 쉽게 변경하고 관리할 수 있습니다. 자바에서 변수를 사용하려면 반드시 선언과 초기화 과정이 필요합니다.
🏗 변수 선언과 초기화
변수를 사용하려면 먼저 선언과 초기화가 필요합니다.
// 변수 선언 : 데이터 타입과 변수명을 지정해서 메모리 공간을 사용합니다.
int age;
// 변수 초기화 : 선언된 변수에 값을 할당합니다.
age = 30;
// 선언과 초기화 동시에 수행
int age = 30;
초기화되지 않은 변수는 사용하려고 하면 컴파일 오류가 발생합니다.
✍️ 변수의 명명규칙
변수 이름을 작성할 때는 다음 규칙을 따라야 합니다.
✅기본 규칙
1️⃣ 대소문자가 구분되며 길이에 제한이 없습니다. (age와 Age는 다른 변수)
2️⃣ 예약어를 사용하면 안 됩니다. (int, class 등 자바 키워드는 변수명으로 사용 불가)
3️⃣ 숫자로 시작하면 안 됩니다. (1age > age1)
4️⃣특수문자는 '_' 와 '$'만 허용됩니다. (_name, $value 가능)
✅ 코드 스타일 규칙도 함께 고려하면 좋습니다.
✔ 클래스 이름은 대문자로 시작해야 합니다. (Person, Car)
✔ 여러 단어로 된 변수명은 카멜 표기법을 사용합니다. (userName, getUserInfo())
✔ 상수명은 모두 대문자로 작성하고, _ 로 단어를 구분합니다. (MAX_VALUE, FILE_PATH)
✔ 변수의 이름은 짧을수록 좋지만 용도를 알기 쉽게 의미 있는 이름으로 작성하는 것이 좋습니다. (a > studentAge)
🐪 카멜케이스(낙타 표기법)란?
카멜케이스는 프로그래밍에서 변수, 함수, 클래스 등의 이름을 작성할 때 많이 사용하는 표기법 중 하나입니다. 이 표기법의 이름은 이름이 여러 단어로 구성되어 있을 때, 각 단어의 첫 글자가 대문자로 시작하고, 이 대문자들이 낙타의 등봉처럼 보이는 것에서 유래했습니다. 카멜케이스를 사용하면 이름에 공백을 넣지 않고도 여러 단어를 쉽게 구분할 수 있으므로, 변수의 이름을 이해하기 쉽게 만들어줍니다.
✈️ 기본형(Primitive) 변수
기본형 변수는 실제 값을 저장하며, 메모리에서 직접 값을 다룰 수 있기 때문에 빠른 속도와 메모리 효율성을 가집니다. 값의 종류에 따라 값이 저장될 공간의 크기와 저장형식을 정의한 것이 자료형입니다. 자료형에는 문자형(char), 정수형(byte, short, int, long), 실수형(float, double) 등이 있으며, 변수를 선언할 때는 저장하려는 값의 특성을 고려하여 알맞은 자료형을 변수의 타입으로 선택하면 됩니다.
종류 | 데이터 타입 | 크기(byte/bit) | 표현 범위 |
논리형 | boolean | 1 / 8 | true / false |
문자형 | char | 2 / 16 | '\u0000' ~ 'uFFFF' (16비트 유니코드 문자 데이터) |
정수형 | byte | 1 / 8 | -128 ~ 127 |
short | 2 / 16 | -32768 ~ 32767 | |
int | 4 / 32 | -2147483648 ~ 2147483647 (-21억 ~ 21억) | |
long | 8 / 64 | -9223372036854775808 ~ 9223372036854775807 (-100경 ~ 100경) | |
실수형 | float | 4 / 32 | 1.4E-45 ~ 3.4028235E38 |
실수형 | double | 8 / 64 | 4.9E-324 ~ 1.7976931348623157E308 |
- ✅ 기본형의 특징
- 메모리 효율성 : 값 자체를 저장해서 메모리 효율이 높음(메모리 사용량이 적음)
- 속도 : 참조형보다 접근 속도가 빠름
- 고정 크기 : 각 타입마다 크기가 고정되어 있음
🔒 상수(Constant)
상수는 변수와 마찬가지로 값을 저장할 수 있는 공간이지만, 변수와 달리 한번 값을 저장하면 다른 값으로 변경할 수 없습니다. 상수를 선언하는 방법은 변수와 동일하며, 변수의 타입 앞에 불변성을 보장하는 final이라는 키워드를 붙여서 사용합니다.
final double PI = 3.14159;
final String FILE_PATH = "C:/data/file.txt";
- ✅ 상수의 특징
- 상수는 반드시 선언과 동시에 초기화해야 함(final 키워드 사용)
- 초기화 이후는 상수 값 변경이 불가능함(재할당 시 컴파일 오류 발생)
- 상수의 이름은 모두 대문자로 작성하고, 여러 단어로 이루어지는 경우 '_'로 구분(MAX_VALUE, FILE_PATH)
🔥 리터럴(Literal)
리터럴은 코드에서 직접 사용되는 고정된 값을 의미합니다. 변수에 값을 할당할 때 사용되며, 데이터 타입에 따라 다양한 형태로 표현됩니다.
int number = 100; // 정수 리터럴
float pi = 3.14f; // 실수 리터럴
char grade = 'A'; // 문자 리터럴
String message = "Hello"; // 문자열 리터럴
⚡️ 변수 사용 시 주의점
1️⃣ 초기화되지 않은 변수를 사용하면 오류 발생
int num;
System.out.println(num)l // 오류 발생(초기화되지 않음)
2️⃣ 데이터 타입을 고려해서 적절한 크기의 변수 사용
- 큰 숫자를 저장해야 할 경우 int 보다 long 사용
- 정밀한 실수 계산이 필요한 경우 float 보다 double 사용
3️⃣ 가독성을 고려해서 의미가 명확한 변수명 작성
int a = 25; // 의미가 불명확
int studentAge = 25; // 의미 명확
4️⃣ 리소스 절약을 위해 불필요한 변수 선언 지양
int sum = a + b; // 바로 사용
🚀 결론
변수는 프로그램에서 데이터를 저장하고 관리하는 핵심 개념입니다.
- 명확한 변수명과 적절한 데이터 타입을 선택하는 것이 중요합니다.
- 초기화되지 않은 변수 사용을 피하고, 코딩 스타일을 준수하면 가독성이 높아집니다.
- 메모리 효율성과 성능을 고려해 데이터 타입을 선택하는 것이 좋은 프로그래밍 습관이 됩니다.
📌 변수를 잘 활용하면 코드의 유지보수성이 좋아지고, 성능도 향상됩니다.
'🌈 프로그래밍 언어 > 자바' 카테고리의 다른 글
[Java] 자바 반복문 - for, while, do-while 완벽 가이드 (0) | 2024.05.24 |
---|---|
[Java] 자바 조건문(If문, Switch문) 가이드 (0) | 2024.05.19 |
[Java] 자바 연산자 Operator 가이드 정리 (0) | 2024.05.13 |
[Java] 자바 코드에서 주의할 점 (0) | 2023.03.27 |
[Java] 프로그래밍 언어 자바란 무엇인가? (0) | 2023.03.27 |