본문 바로가기
JAVA

JAVA / 변수란

by LWM 2020. 3. 23.
반응형

우리는 살아가면서 ‘변수’ 라는 용어를 간혹 들어봤을 것이다. ‘변수가 많네~’, ‘변수가 생길수도있어!’, ‘변수에 담아!’ 등 프로그래밍을 포함해 일상생활에서도 많이 쓰이곤한다. 이번 포스팅에서는 이러한 변수라는 용어가 프로그래밍 세계에서 어떤의미를 가지고 활용되는지 알아보자.

 

변수란?


프로그래밍 세계에서는 변수를 ‘단 하나의 값을 저장할 수 있는 메모리상의 공간’을 뜻한다. 이렇게 이름지어진 이유는 프로그래밍에서의 변수의 성질, 즉 ‘변수에 저장된 값은 변경될 수 있다’는 점이 수학에서의 ‘변하는 수’를 정의하고 있는 변수와 상통하고 있기 때문이다.

변수

 

변수의 선언 및 초기화


변수 선언

프로그래밍에서 변수를 사용하기 위해선 선언을 해주어야한다. 변수 선언은 프로그래밍마다 다소 차이가 있는데 해당 포스팅은 자바의 변수를 다루기 때문에 자바의 변수 선언을 알아보자.

 

자바에서의 변수선언 방법은 다음과 같다.

int a;          // int 자료형의 a라는 변수를 선언

String b;       // Stirng 자료형의 b라는 변수를 선언

int c, d;   // int 자료형의 c, d라는 변수를 선언

위 예시 코드를 보면 a와 b라는 변수를 선언하였다. 근데 여기서 의문점이 생길 것이다. “변수를 사용하기 위해 a라는 명칭을 가진 변수와 b라는 명칭을 가진 변수를 선언했는데 각각의 변수명 앞에 int와 String은 뭐지?” 라고 말이다.
int와 String은 자바에서 ‘데이터타입’ 또는 ‘변수타입’ 이라고 부르며, 자바에서의 변수를 선언할 때는 반드시 변수명 앞에 데이터타입(변수타입)을 반드시 명시해주어야 한다. 데이터타입은 int, String 이외에도 char, long, boolean등이 있으며, 변수를 선언함에 있어 해당 변수에 어떤 데이터 유형을 담아 사용할 것인지 고려하여 위 예시와 같이 작성해주면 된다.

 

데이터타입의 자세한 내용은 아래링크를 참고바란다.

https://swdevelopment.tistory.com/16

 

변수 초기화

변수 초기화란 변수를 사용하기 전에 처음으로 값을 저장하는 것을 말한다. 변수는 종류에 따라 변수의 초기화를 생략할 수 있지만, 사용전에 적절한 값으로 초기화하는 것이 좋다. 이유는 여러 프로그램이 공유하는 자원인 메모리에, 전에 다른 프로그램에 의해 저장된 ‘알 수 없는 값(쓰레기값)’이 남아있을 수 있기 때문이다. 변수의 초기화 방법은 2가지로, 변수 선언과 초기화를 동시에 하는 방법과, 선언과 초기화를 분리하여 초기화만하는 방법이 있다.

 

자바에서의 변수 초기화 방법은 다음과 같다.

// 선언 및 초기화
int a = 1;           // int 자료형의 a 변수를 선언하고 값을 1로 초기화

String b = "";       // Stirng 자료형의 b 변수를 선언하고 값을 빈문자열로 초기화

int c = 0, d = 0;    // int 자료형의 c, d 변수를 선언하고 값을 각각 0으로 초기화

// 초기화
a = 1;      // int 자료형의 a 변수값을 1로 초기화

b = "";     // Stirng 자료형의 b 변수값을 빈문자열로 초기화

c = 0;      // int 자료형의 c 변수값을 0으로 초기화

위 예시 코드를 보면 대입연산자 ‘=’와 우변에 값이 작성되어있다. ‘=’은 프로그래밍에서는 우변의 값을 좌변에 저장하라는 의미로, 변수 초기화 시 변수선언 형식에 대입연산자 ‘=’와 초기화값을 작성해주면된다.

앞전에 언급하였듯이 변수는 사용전 적절한 값으로 초기화해주는 것이 좋다. 따라서 변수의 선언과 초기화를 분리하여 작성하는 것보다 같이하는 작성하는 것을 지향하자.

 

변수의 명명규칙


변수명은 프로그래밍에서 ‘식별자’라고 하며, 식별자는 같은 영역 내에서 서로 구분될 수 있어야한다.

식별자를 만들 때의 규칙은 다음과 같다.

  • 대소문자가 구분되야하며, 길이에 제한이 없다.

    False와 false는 서로 다르게 간주된다.

  • 예약어를 사용할 수 없다.

    false는 예약어이기 때문에 식별자로 사용할 수 없지만 False는 가능하다.

  • 숫자로 시작할 수 없다.

    a123은 변수명으로 사용할 수 있지만, 123a는 변수명으로 사용 불가능하다.

  • 특수문자는 ‘_‘와 ‘$’만들 허용한다.

    _a는 변수명으로 사용가능하지만, #a는 사용 불가능하다.

예약어는 ‘키워드’ 또는 ‘리져브드 워드’ 라고 하며, 프로그래밍언어의 구문에 사용되는 단어를 의미한다. 예약어는 변수 뿐만 아니라 클래스, 메서드의 이름으로도 사용할 수 없다.

 

자바에서 사용되는 예약어는 다음과 같다.

자바 예약어


읽어주셔서 감사합니다. 😊

 

참고:
자바의 정석 - 남궁성

반응형

'JAVA' 카테고리의 다른 글

JAVA / 캐스팅(형변환)이란?  (0) 2020.03.30
JAVA / 상수와 리터럴  (0) 2020.03.27
JAVA / 데이터 타입  (0) 2020.03.24
JAVA / JDK & JRE & JVM  (0) 2020.03.20
JAVA / 자바란?  (0) 2020.03.17