Language/JAVA

[JAVA] 변수 선언과 초기화

IT수정 2024. 9. 3. 09:21

컴퓨터 메모리(RAM)는 수많은 번지들로 구성된 데이터 저장 공간이다. 프로그램은 데이터를 메모리에 저장하고 읽는 작업을 빈번히 수행한다. 이때 데이터를 어디에, 어떤 방식으로 저장할지 정해져 있지 않다면 메모리 관리가 무척 어려워진다. 프로그래밍 언어는 이 문제를 해결하기 위해 변수를 사용한다.

 

변수 = 하나의 값을 저장할 수 있는 메모리 번지에 붙여진 이름

 

자바의 변수는 다양한 타입의 값을 저장할 수 없다. 즉, 정수형 변수에는 정수값만 저장할 수 있고, 실수형 변수에는 실수값만 저장할 수 있다. 변수를 사용하려면 변수 선언이 필요한데, 변수 선언어떤 타입의 데이터를 저장할 것인지 그리고 변수 이름이 무엇인지를 결정하는 것이다.

 

변수 선언의 기본 형식

타입 변수이름;

 

변수 이름은 첫 번째 글자가 문자여야 하고, 중간부터는 문자, 숫자, $, _ 를 포함할 수 있다. 또한, 첫 문자를 소문자로 시작하되 캐멀 스타일로 작성하는 것이 관례이다.

캐멀 스타일(Camel Style)
코드를 작성할 때 여러 단어를 혼합하여 명명하는 경우, 낙타의 등처럼 대소문자가 섞여 있도록 작성하는 스타일을 말한다. 자바 소스 파일명과 변수명을 작성할 때 관례적으로 사용한다.

 

변수 선언과 초기화

int age = 25;

 

변수가 선언되었다면 값을 저장할 수 있는데, 이때 대입 연산자인 =를 사용한다. 수학에서 등호(=)는 '같다'라는 의미이지만, 자바에서는 우측 값을 좌측 변수에 대입하는 연산자로 사용된다.

 

변수 선언은 저장되는 값의 타입과 이름만 결정한 것이지, 아직 메모리에 할당된 것은 아니다. 변수에 최초로 값이 대입될 때 메모리에 할당되고, 해당 메모리 값이 저장된다. 변수에 최초로 값을 대입하는 행위변수 초기화 라고 하고, 이때의 값을 초기값이라고 한다. 초기값은 변수를 선언함과 동시에 대입할 수도 있다.

 

초기화되지 않은 변수는 아직 메모리에 할당되지 않았기 때문에 변수를 통해 메모리 값을 읽을 수 없다. 따라서 다음은 잘못된 코딩이다.

int value;
int result = value + 10; // 컴파일 에러

 

변수는 또 다른 변수에 대입되어 메모리 간에 값을 복사할 수 있다. 다음 코드는 변수 x값을 변수 y값으로 복사한다.

int x = 10;
int y = x;

 

다음 예제는 두 변수의 값을 교환하는 방법을 보여준다.

public class VariableExample {
	public static void main(String[] args) {
    	int x = 3;
        int y = 5;
        System.out.println("x:" + x + ", y:" + y);
        
        int z = x;
        x = y;
        y = z;
        System.out.println("x:" + x + ", y:" + y);
      }
   }

 

실행 결과

x:3, y:5
x:5, y:3

 

 

'Language > JAVA' 카테고리의 다른 글

[JAVA] 산술 연산자  (1) 2024.09.03
[JAVA] 부호 연산자와 증감 연산자  (0) 2024.09.03
[JAVA] print 메소드  (0) 2024.09.03
[JAVA] 자동 타입 변환과 강제 타입 변환  (0) 2024.09.03
[JAVA] 기본형 타입  (0) 2024.09.03