Java 변수 유형 설명
카테고리
프로그래밍/소프트웨어 개발
서브카테고리
웹 개발
대상자
- Java 초보 개발자 및 중급 개발자
- 난이도: 중간 수준 (기초 개념부터 실무 적용까지 포함)
핵심 요약
- 인스턴스 변수는 클래스 내에서 선언되며, 각 객체가 독립적인 복사본을 가짐.
- 로컬 변수는 메서드 내부에서 선언되며, 메서드 실행 중만 유효.
- 정적 메서드는
static
키워드로 선언되며, 클래스 레벨에서 접근 가능. - 정적 변수는
static
키워드로 선언되며, 모든 인스턴스 간 공유됨.
섹션별 세부 요약
1. 인스턴스 변수 (INSTANCE_VARIABLES)
- 클래스 내부에서 메서드 외부에 선언됨.
- 각 객체가 독립적인 값을 유지.
- 기본값으로 초기화됨 (예:
int
는 0,String
은null
). - 접근 제어자(
private
,public
)를 사용할 수 있음. - 예제:
public class Person { String name; int age; }
2. 로컬 변수 (LOCAL_VARIABLES)
- 메서드, 생성자, 또는 블록 내부에서 선언됨.
- 메서드 실행 중만 유효하며, 메서드 외부에서 접근 불가.
- 예제:
void displayMessage() { String message = "Hello"; }
message
변수는displayMessage()
메서드 내부에서만 사용 가능.
3. 정적 메서드 (STATIC_METHOD)
static
키워드로 선언됨.- 객체 생성 없이 클래스 이름으로 직접 호출 가능.
- 정적 변수와 정적 메서드만 직접 접근 가능.
- 예제:
public class Utility { static void greet() { ... } }
- 호출 예:
Utility.greet();
4. 정적 변수 (STATIC_VARIABLES)
static
키워드로 선언됨.- 모든 인스턴스 간 공유되며, 클래스 로딩 시 한 번만 초기화됨.
- 메모리의 method area에 저장됨.
- 예제:
public class Demo { static int x = 10; }
- 접근 예:
Demo.x
결론
- 인스턴스 변수는 객체별 상태를 저장할 때 사용하며, 정적 변수는 모든 객체가 공유하는 데이터를 관리할 때 활용.
- 로컬 변수는 메서드 내부에서 일시적으로 사용되며, 메서드 종료 시 소멸됨.
- 정적 메서드는 유틸리티 함수로 자주 사용되며,
this
키워드 사용 불가. - Oracle Docs(https://docs.oracle.com/)를 참고하여 공식 문서와 정확한 구문 확인.