본문 바로가기

JAVA

[JAVA] 변수와 초기화

🏷️ 변수와 초기화

  • 변수(Variable)는 프로그램에서 데이터를 저장하기 위한 메모리 공간에 이름을 붙인 것이며, 이 메모리 공간에 저장된 값은 프로그램 실행 중에 변경될 수 있다.

📊 변수의 종류

1. 멤버 변수 (Member Variable / Field)

  • 위치: 클래스 내부에 선언되는 변수다.
  • 특징: 객체(인스턴스)의 속성을 나타낸다. 클래스 내의 모든 메서드에서 접근할 수 있다.
  • 초기화: 멤버 변수는 별도로 초기화하지 않아도 자바에 의해 기본값으로 자동 초기화된다.
    • 숫자 타입 (int, double 등): 0
    • boolean: false
    • 참조 타입 (String, 객체 등): null
    • char: '\\u0000' (null 문자)
  • 생명 주기: 객체가 생성될 때 함께 생성되어 객체가 메모리에서 사라질 때 함께 소멸된다.

2. 지역 변수 (Local Variable)

  • 위치: 메서드 내부, 생성자 내부, 또는 블록({}) 내부에 선언되는 변수다. 메서드의 매개변수 또한 지역 변수의 일종이다.
  • 특징: 선언된 블록 내에서만 유효하며, 블록을 벗어나면 메모리에서 사라진다.
  • 초기화: 지역 변수는 반드시 사용하기 전에 직접 초기화해야 한다. 초기화하지 않고 사용하려고 하면 컴파일 오류가 발생한다.
  • 생명 주기: 선언된 블록이 실행되는 동안만 존재하고, 블록이 끝나면 소멸한다. (지역 변수는 스택 영역에 저장된다.)

🚫 null

null은 참조형 변수가 어떤 객체도 참조하고 있지 않음을 나타내는 특별한 값이다.

String name = null;   // name 변수는 어떤 String 객체도 참조하지 않는다.
Person person = null; // person 변수는 어떤 Person 객체도 참조하지 않는다.

null은 0이나 빈 문자열("")과는 다르다. 빈 문자열은 길이는 0이지만 실제 String 객체를 참조하고 있는 반면, null은 객체 자체가 없는 상태를 의미한다.