▶오늘의 주제 : 전역변수와 지역변수
자바의 변수는 선언위치에 따라 크게 전역변수와 지역변수로 나뉜다
- 어느 위치에서든 호출이 가능하면 전역변수
- 특정 구역 내에서만 사용 가능하면 지역변수
전역변수의 경우는 그 내에서도 클래스 변수와 인스턴스 변수로 나뉜다
public class Test {
int var1; // 인스턴스 변수 (전역변수)
static int var2; // 클래스 변수 (전역변수)
public void fun() {
int var3; // 지역 변수 (지역변수)
}
}
인스턴스 변수
클래스 영역에 선언되고, 인스턴스(객체)를 생성할 때 만들어짐
- 인스턴스의 변수 값을 가져오기 위해선 일단 인스턴스를 생성해줘야 함
- 인스턴스는 독립적인 저장공간을 가지기 때문에 서로 다른 값을 가질 수 있음
클래스 변수
인스턴스에 static 만 붙이면 되고, 클래스가 로딩 될 때 만들어짐
- 인스턴스 변수와 달리 클래스 변수는 공통된 저장공간을 사용
- 클래스가 로딩 시 (메모리에 올라갔을 때) 생성되어 프로그램이 종료 될 때까지 유지되됨
지역 변수
메소드 내에서만 사용 가능
- 메소드가 실행될 때 메모리를 할당 받으며 메소드가 끝나면 소멸 되어 사용할 수 없음
'Java' 카테고리의 다른 글
컴파일(Compile)이란? (0) | 2022.12.20 |
---|---|
Java - 추상클래스 (0) | 2022.12.07 |
Java - 생성자 (0) | 2022.11.24 |
Java - 필드 (0) | 2022.11.23 |
Java - 객체 지향 프로그래밍 (0) | 2022.11.23 |