※해당 글은 신용권님의 혼자 공부하는 자바의 책으로 공부하며 참고한 글입니다.
변수
란 메모리에 위치(이름)를 부여해주는 행위의 이름이다.
메모리를 저장하고 싶다면 해당 메모리를 변수에 저장하면 된다.
어떤 방식으로 저장할지는 프로그래밍 언어와 운영체제가 정하고, 자바의 경우 JVM이 이행한다.
정수 타입의 변수에는 정수 메모리만, 문자 타입의 변수에는 문자 메모리만 저장이 가능하며
하나의 변수에 동시에 두 가지 값을 저장할 수 없고, 하나의 값만 저장할 수 있다.
변수 선언
은 변수를 사용하기 위해 먼저 변수를 선언하는 행위이다.
변수 선언에는 어떤 타입인지, 변수 이름이 무엇인지를 입력해줘야 한다.
int age; //int는 타입, age는 변수 이름에 해당한다.
double value;
타입은 변수에 저장되는 값의 종류와 범위를 결정짓는 요소이다.
같은 타입의 변수는 콤마(,)를 이용하여 한꺼번에 선언할 수도 있다.
//example
int x;
iny y;
iny z;
//=====
int x, y, z;
//===== 기준으로 위와 아래의 코드는 동일한 코드이다.
각 프로그래밍 언어마다 변수명에 대해 정한 명명 규칙이 있다.
우리가 사용하는 자바는 자바 언어에서 정한 명명 규칙을 따라야 한다.
작성 규칙 | 예 |
첫 번째 글자는 문자이거나 '$', '_'로 시작하여야 하며, 숫자로 시작할 수 없다. (필수) | 가능: price, $price, _companyName 불가능: 1stName, @speed, $#value |
영어 대소문자를 구분한다. (필수) | firstname과 firstName은 다른 변수 (firstname는 추천하지 않는 변수명이다.) |
첫 문자는 영어 소문자로 시작하되, 다른 단어가 붙을 경우 해당 단어의 첫 문자는 대문자로 작성한다. (관례) | maxSpeed, firstName, carBodyColor |
문자 수(길이)의 제한은 없다. | |
자바 예약어는 사용할 수 없다. (필수) | 다음 글 참조 |
예약어
란 이미 해당 프로그래밍 언어에서 의미를 갖고 기능으로서 사용되고 있는 단어를 말한다.
자바의 경우 아래 표에 해당하는 것이 자바의 예약어이다.
분류 | 예약어 |
기본 타입 | boolean, byte, char, short, int, long, float, double |
접근 제한자 | private, protected, public |
클래스와 관련된 것 | class, abstract, interface, extends, implements, enum |
객체와 관련된 것 | new, instanceof, this, super, null |
메소드와 관련된 것 | void, return |
제어문과 관련된 것 | if, else, switch, case, default, for, do, while, break, continue |
논리값 | true, flase |
예외 처리와 관련된 것 | try, catch, finally, throw, throws |
기타 | package, import, synchronized, final, static |
변수는 다른 개발자도 어떤 값을 저장하고 있는지 알기 쉽게 의미가 있는 이름을 지어주는 것이 좋다.
변수 이름의 길이는 프로그램 실행에 어떠한 영향도 끼치지 않기 때문에 충분히 길어도 상관없다.
또한 변수 이름에 한글이 사용은 가능하지만, 영어를 사용하는 것이 좋다.
변수 초기화
변수는 선언과 동시에 메모리(값) 저장이 가능하다.
변수에 최초로 값이 저장될 때 변수가 생성되고, 이것을 변수 초기화라고 한다. 그리고 이때 사용된 메모리(값)를 초기값이라도 한다.
변수에 값을 저장할 때에는 대입 연산자(=)를 사용한다.
프로그래밍에서 = 은 '대입'을, == 은 '같다'를 표기한다.
//example code
int num = 1;
해당 코드를 분석하자면
int는 변수 타입, num은 변수명, 1은 =에 인해 num에 저장(대입)되는 값이다.
변수 초기화를 하지 않은 채 해당 변수를 사용하여 연산 혹은 읽는 코드를 작성하면 컴파일 에러가 발생한다.
초기화되지 않은 변수는 아직 정보를 가지고 있지 않으므로 변수를 통해 메모리 값을 읽을 수 없기 때문이다.
변수를 선언할 때에 주의할 점은 변수가 사용되는 범위이다.
크게 변수에는 전역 변수와 매개변수가 있다.
쉽게 말해 전역 변수는 코드 전체에서 사용 가능한 변수, 매개변수는 특정한 코드 블록 안에서만 사용 가능한 변수이다.
코드에서 블록(구간)은 중괄호 {}로 구분한다.
//example code
public static void main(String[] args) {
int var1; //전역 변수
if(...) {
int var2 = 0; //해당 if문 블록 안에서만 사용 가능한 매개 변수
}
for(...) {
//해당 for문 블록 안에서만 사용 가능한 매개 변수
double var3 = 1.0;
}
}
- 변수가 어떤 범위에서 사용되는지 확인하고, 선언 위치를 결정해야 한다.
- 메서드 블록 전체에서 사용하고 싶다면 메소드 블록 첫머리에 선언한다.
- 특정 블록 내부에서만 사용된다면 해당 블록 내에 선언한다.
읽어주셔서 감사합니다. (*~*)
'📖혼자공부하는자바' 카테고리의 다른 글
Chapter 02-4 변수와 시스템 입출력 (0) | 2022.11.10 |
---|---|
Chapter 02-3 타입 변환 (0) | 2022.11.08 |
Chapter 02-2 기본 타입 (0) | 2022.11.08 |
Chapter 01-2 자바 프로그램 개발 과정 (0) | 2022.11.07 |
Chapter 01-1 프로그래밍 언어와 자바 (0) | 2022.11.07 |