https://rclogstorage.tistory.com/m/6
일전에 C언어에서의 변수를 설명할 때 상세하게 설명한 적이 있었고
Java에서도 변수의 정의는 크게 다르지 않기 때문에 별도의 개요 없이 바로 변수의 정의 요약으로 넘어가겠다.
변수 Variable
- 특정한 값이 정해지지 않고 대입을 통해서 값을 언제든지 바꾸는 것이 가능함.
- 프로그램의 처리 과정에서 데이터를 저장할 수 있는 메모리 공간
- 하나의 변수에는 하나의 값만 저장할 수 있지만, 값의 변경이 가능하다.
- 변수의 이름은 숫자로 시작할 수 없고, 특수문자는 '$', '_'만 사용할 수 있다.
- 대, 소문자가 다른 변수는 별개의 변수로 취급된다.
변수의 사전적인 정의에 대해 알아봤으니 이제 변수 선언과 값을 출력해보자.
public class Main {
public static void main(String[] args){
int alpha = 10; //정수형 변수 'alpha' 선언, 정수 10을 저장
System.out.println(alpha); //변수 alpha에 저장한 값을 출력
}
}
위의 코드를 실행하면 Console 창에 변수 alpha에 저장된 값인 정수 10이 출력되는 것을 확인할 수 있다.
변수의 선언과 출력까지 해봤으니 변수 선언 규칙 정리한 것을 보고, 상수로 넘어가도록 하겠다.
변수 선언 규칙
- 변수의 이름은 하나 이상의 글자로 이루어져야 한다.
- 변수를 선언할 때 특수무나는 '$'나 '_'만 사용할 수 있다.
- 첫번째 글자는 문자이거나 특수 문자 '$', '_'이어야 하고, 두번째 이후부터는 숫자, 문자, 특수문자 $, _여야 한다.
- 자바의 키워드는 식별자로 사용할 수 없고, 논리 값을 표현하는 단어인 'true', 'false', 'null'또한 사용할 수 없다.
식별자(identifier) = 클래스, 메서드, 변수 등 다양한 대상에 대해 붙여지는 이름을 말한다.
- 변수 선언 시에 변수 이름의 길이 제한은 따로 존재하지는 않는다.
https://rclogstorage.tistory.com/m/8
프로그래밍에서 상수를 선언할 경우에는 값이 변하면 안될 경우에 사용한다고 설명한 적이 있다.
Java에서도 마찬가지로 값을 변경하면 안되는 경우에 사용을 하며, C언어와 달리 상수를 선언할 때는
앞에 'final' 키워드를 붙여서 선언한다. 바로 상수를 선언하고, 저장한 값을 출력해보자.
public class Main {
public static void main(String[] args){
final int alpha = 10; //정수형 상수 alpha 선언, 정수 10을 넣음
System.out.println(alpha); //상수 alpha에 저장된 값을
}
}
상수 alpha에 저장된 정수 10이 출력되는 것을 확인할 수 있다.
그러면 이번엔 상수 alpha의 값을 20으로 바꾸는 코드를 추가하고 실행시켜보자.
public class Main {
public static void main(String[] args){
final int Alpha = 10; 정수형 상수 Alpha 선언 및 값을 10으로 설정
Alpha = 20; //성립 true or false
System.out.println(Alpha);
//컴파일 에러가 발생하면서 프로그램이 실행되지 않는다.
}
}
당연히 프로그램은 실행되지 않고, 컴파일 오류가 발생할 것이다.
상수는 한번 값을 설정하면 다시 변경을 할 수 없기 때문에 'Alpha = 20;'은 있으면 안되는 코드이고
컴파일하는 과정에서 에러가 발생할 수 밖에 없다.
상수 Constant
- 처음 선언할 때 값을 지정해야하고, 한번 설정한 값은 후에 변경할 수 없다.
(상수의 현재 값을 바꾸려는 코드를 추가하면 컴파일 오류가 발생한다.)
- 상수를 선언할 때는 자료형 앞에 'final'을 붙여서 선언한다. (예시: final int a = 10;)
'Programming > Java' 카테고리의 다른 글
[Java] 4. 조건문 (1) | 2022.10.05 |
---|---|
[Java] 3. 연산자 (0) | 2022.09.23 |
[Java] 2. 데이터 타입과 형변환 (1) | 2022.09.21 |
[Java] 0 - (1). 객체 지향 프로그래밍이란 무엇인가 (2) | 2022.09.13 |
[Java] 0. 자바 개요 (0) | 2022.08.19 |