본문 바로가기
Back-End/Java

변수 선언과 초기화

by 두두리안 2024. 9. 13.
728x90

자바 변수 선언과 초기화

프로그래밍에서 변수를 선언하고 초기화하는 과정은 필수적입니다. 이를 통해 데이터를 저장할 메모리 공간을 확보하고, 해당 공간에 접근하기 위한 이름을 부여할 수 있습니다. 이번 글에서는 자바(Java)에서 변수를 선언하고 초기화하는 방법을 살펴보겠습니다.

변수 선언

변수를 선언하면 컴퓨터의 메모리에서 데이터를 저장할 공간이 만들어집니다. 이 공간은 변수 이름을 통해 접근할 수 있습니다. 변수는 아래와 같이 하나씩 선언할 수 있습니다.

int a;
int b;
  • 또는 한 번에 여러 변수를 선언할 수도 있습니다.
int c, d;
  • 이렇게 변수를 선언하면 해당 변수를 사용할 수 있는 메모리 공간이 할당되지만, 아직 값이 저장되지는 않았습니다.

변수 초기화

변수를 선언한 후, 해당 변수에 값을 저장하는 첫 번째 과정을 초기화라고 합니다. 변수를 초기화하는 방법에는 여러 가지가 있습니다.

1. 변수 선언과 초기화를 각각 따로 하는 방법

변수를 먼저 선언하고 나중에 값을 할당할 수 있습니다.

int a;
a = 1;
System.out.println(a);
  • 이 방식은 가독성을 높일 수 있으며, 값이 나중에 결정되는 경우에 유용합니다.

2. 변수 선언과 초기화를 한 번에 하는 방법

변수를 선언하면서 동시에 초기화할 수도 있습니다.

int b = 2;
System.out.println(b);
  • 이 방법은 변수를 선언하는 즉시 값을 할당해야 할 때 사용하면 편리합니다.

3. 여러 변수를 한 번에 선언하고 초기화하는 방법

여러 변수를 동시에 선언하고 초기화할 수도 있습니다.

int c = 3, d = 4;
System.out.println(c);
System.out.println(d);
  • 이와 같이 코드를 간결하게 작성할 수 있으며, 동시에 여러 변수에 값을 할당해야 할 때 유용합니다.

변수 초기화의 중요성

변수를 선언했지만 초기화하지 않으면 어떻게 될까요? 자바에서는 초기화되지 않은 변수를 사용하려 하면 컴파일 에러가 발생합니다. 예를 들어, 다음 코드를 보겠습니다.

int a;
System.out.println(a); // 주석을 풀면 컴파일 에러 발생
  • 위 코드에서 int a를 선언했지만, 값을 할당하지 않은 채로 출력하려고 시도하면 컴파일 에러가 발생합니다.
java: variable a might not have been initialized
  • 이 에러는 변수가 초기화되지 않았음을 나타냅니다. 왜 이런 문제가 발생할까요? 이유는 메모리에 이전에 저장된 값이 무엇인지 알 수 없기 때문입니다. 초기화를 하지 않으면 메모리의 남아 있는 값이 그대로 출력되거나, 엉뚱한 결과가 나올 수 있습니다. 이를 방지하기 위해 자바는 변수를 반드시 초기화하도록 강제합니다.

지역 변수와 초기화

지금까지 다룬 변수들은 모두 지역 변수(Local Variable)입니다. 지역 변수는 반드시 개발자가 초기화를 해주어야 합니다. 나중에 배우게 될 클래스 변수와 인스턴스 변수는 자바가 자동으로 초기화를 해주지만, 지역 변수는 그렇지 않습니다.

컴파일 에러는 도움이 된다

컴파일 에러는 프로그램이 자바 문법에 맞지 않았을 때 발생합니다. 하지만 이는 오히려 개발자에게 유용한 에러입니다. 컴파일 에러를 통해 오류를 빠르게, 명확하게 확인할 수 있으며, 이를 수정함으로써 프로그램을 더 안정적으로 만들 수 있습니다.

에러가 발생하면 문제된 부분에 주석을 적용해 다음 번 실행 시 같은 문제가 발생하지 않도록 관리하는 것이 좋습니다.

//System.out.println(a); // 주석을 풀면 컴파일 에러 발생
  • 위와 같이 에러를 해결한 후에는 해당 라인에 주석을 달아 다른 예제를 실행할 때도 동일한 컴파일 에러가 발생하지 않도록 방지합시다.

요약

  • 변수를 선언하면 메모리 공간이 할당되고, 이름을 통해 해당 공간에 접근할 수 있습니다.
  • 변수를 초기화하지 않으면 자바에서는 컴파일 에러가 발생합니다.
  • 지역 변수는 반드시 개발자가 직접 초기화를 해야 합니다.

참고

김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음

728x90

'Back-End > Java' 카테고리의 다른 글

자바의 산술 연산자 이해하기  (0) 2024.09.19
자바 변수 - 문제와 풀이 예제  (0) 2024.09.18
자바 변수 타입  (1) 2024.09.17
자바 변수의 기초  (0) 2024.09.12
J2EE 패턴이란?  (0) 2022.08.12