지난번 자바(Java) 프로그램 구조에 이어 이번글에서는
변수(Variable)에 대해서 알아보겠습니다.
변수(Variable)
우선 변수(Variable)은 데이터(data)를 저장할 수 있는
메모리상의 공간을 의미합니다.
변수에는 데이터 타입에 해당하는 단 한 가지 값만 저장할 수 있습니다.
데이터 타입은 기본형(primivite type)과 참조형(reference type)으로
나뉘게 됩니다.
아래에서 자세히 살펴보도록 하겠습니다.
- 기본형(primivite type)
자바를 시작하신 분들이라면 초반에는 참조형보다 기본형 데이터 타입을
만나보시게 될 확률이 높습니다.
자바에서 제공하는 기본형에는 총 8가지가 있으며
아래에서 하나씩 살펴보겠습니다.
타입 | 크기 | 기본값 | |
문자형 | char | 2 byte | '\u0000' |
정수형 | byte | 1 byte | 0 |
short | 2 byte | 0 | |
int | 4 byte | 0 | |
long | 8 byte | 0 | |
실수형 | float | 4 byte | 0.0 |
double | 8 byte | 0.0 | |
논리형 | boolean | 1 byte | false |
혹시 왜 같은 정수형, 실수형인데 종류가 다양한지 눈치채셨나요?
그 이유는 데이터 크기를 보면 알 수 있습니다.
정수형으로 예를 들자면 byte, short, int, long은 각각 1바이트, 2바이트,
4바이트. 8바이트로 데이터 크기가 다른 것을 알 수 있습니다.
이것은 int가 short보다 더 큰 수를 표현할 수 있음을 의미합니다.
여기서 크기가 어떻게 byte값으로 나타낼 수 있는지 궁금하신 분들은
이진수에 대해 찾아보시는 걸 추천드립니다.
추가적으로 boolean의 경우 true와 false 두 가지 값을 가질 수 있으며
기본값은 false입니다.
boolean open = true;
char grade = 'A'; // ''만 사용가능하니 주의해주세요!
// 아래 값들은 각 정수형이 가질 수 있는 최대값입니다.
byte byteValue = 127;
short shortValue = 32767;
int intValue = 2147483647;
long longValue = 9223372036854775808;
float floatValue = 30.333;
double doubleValue = 99.999;
- 참조형(reference type)
참조형은 위 8가지 기본형을 제외한 모든 타입(클래스, 인터페이스 등)을 의미합니다.
참조형 변수에는 null 혹은 객체의 주소를 저장할 수 있습니다.
null은 변수에 어떠한 주소도 저장되어 있지 않음을 의미합니다.
조금 더 어렵게 설명하자면 null인 변수는 메모리에 할당되지 않습니다.
이해하기 힘든 개념이지만 알아두면 좋은 것은 변수에는 객체의 주소가 저장되고
이는 메모리의 스택(stack) 영역에 저장되고 실제 데이터는 메모리의 힙(heap) 영역에
저장됩니다.
변수 선언
다음은 이어서 변수의 선언에 대해서 알아보겠습니다.
변수의 선언은 변수를 사용하기 위해서 꼭 해주어야하는 과정입니다.
int height;
자바에서 변수를 선언하기 위해서는 앞에는 데이터타입을 뒤에는 변수명을
적어주어야 합니다.
위와 같이 표기하는 것을 "변수를 선언만 하고 초기화하지 않았다"라고 합니다.
변수를 선언만하고 초기화하지 않게 되면 자바 컴파일러에서
오류를 발생시키니 유의해주세요!
변수를 초기화한다는 것은 변수에 값을 저장하는 것을 의미합니다.
기본적인 단계에서는 아래와 같이 변수를 선언과 동시에
초기화하는 방법을 자주 사용하게 됩니다.
int age = 78;
한번 선언한 변수를 다시 사용할때는 앞의 데이터 타입을 적지 않고
변수명만 아래와 같이 사용할 수 있습니다.
int height = 178;
System.out.println(height);
height = 180;
System.out.pritnln(height);
위와 같이 System.out.pritnln(); 을 사용하여 console에서 확인해 보면 값이
변화했다는 것을 쉽게 알 수 있습니다.
코드가 길어짐에 따라 변수의 값이 예상과 다르게 출력될 때가 종종 있는데
그때 어떤 부분에서 문제가 생겼는지 System.out.pritnln();을 변수 앞 뒤로
사용하여 쉽게 알아차릴 수 있습니다.
지금까지 자바(Java)의 변수에 대해서 알아보았습니다.
다음 글에서는 자바(Java)의 연산(Operation)에 대해서 알아보도록 하겠습니다!
'자바(JAVA) 기초 함께 알아보자' 카테고리의 다른 글
자바(JAVA) 기초 함께 알아보자(6) - 조건문(Conditional Statement) (0) | 2024.09.23 |
---|---|
자바(JAVA) 기초 같이 알아보자(5) - 비교연산자와 논리연산자 (comparison and logical operator) (2) | 2024.09.21 |
자바(JAVA) 기초 같이 알아보자(4) - 연산 오차 (2) | 2024.09.18 |
자바(JAVA) 기초 같이 알아보자(3) - 연산(Operation) (2) | 2024.09.17 |
자바(JAVA) 기초 같이 알아보자(1) - 자바 프로그램 구조 (1) | 2024.09.16 |