멤버변수(필드)
전역변수(클래스 변수)
static이 붙은 멤버 변수
인스턴스와 무관하게 클래스에 바로 접근해서 사용 → 클래스 자체에 소속
여러곳에서 공유하는 목적으로 사용
생존 기간 : 프로그램이 실행되는 동안 유지되며 프로그램이 종료되기 전까지 소멸하지 않는다.
public class MyClass {
public static int globalVar; // 클래스 변수 (전역 변수)
}
인스턴스 변수
static이 붙지 않은 멤버 변수
인스턴스를 생성해야 사용할 수 있고, 인스턴스에 소속
인스턴스를 만들 때 마다 새로 만들어진다.
생존 기간 : 객체가 생성되고 메모리에서 해제될 때까지 유지된다.
public class Person {
public String name; // 인스턴스 변수
public int age; // 인스턴스 변수
}
매개변수(Parameters)
메서드에 전달되는 값을 저장하기 위한 변수로 메서드 호출 시 인수를 받아 메서드에 전달한다.
메서드 내에서만 유효, 메서드의 인자로 사용
생존 기간 : 메서드 실행 동안 유효하며 메서드 실행이 끝나면 소멸
public void printMessage(String message) {
System.out.println(message);
}
지역변수
메서드 내에서 선언된 변수로, 임시 데이터 저장 및 계산에 사용
선언된 블록 또는 메서드 내에서만 유효
생존 기간 : 선언된 블록 또는 메서드 실행 중에만 유효하며 메서드나 블록을 벗어나면 소멸
public void calculateSum() {
int a = 5; // a는 지역 변수
int b = 10; // b는 지역 변수
int sum = a + b; // sum은 지역 변수
}