| 변수 | 선언 위치 | 사용 범위 | 메모리 | 생성과 소멸 |
| 지역 변수 (로컬 변수) | 함수 내부 | 함수 내부에서만 사용 | 스택 | 함수 호출 시 생성 함수 끝나면 소멸 |
| 멤버 변수 (인스턴스 변수) | 클래스 멤버 변수로 선언 | 클래스 내부에서 사용 private 아니면 참조 변수로 다른 클래스에서 사용 가능 | 힙 | 인스턴스 생성될 때힙에 생성 , 가비지 컬렉터가 메모리 수거할 때 소멸 |
| static 변수 (클래스 변수) | static 예약어를 사용하여 클래스 내부에 선언 | 클래스 내부에서 사용 private이 아니면 클래스 이름으로 다른 클래스에서 사용 가능 | 데이터 영역 | 프로그램이 처음 시작할 때 상수와 함께 데이터 영역에 생성 프로그램이 끝나고 메모리 해제할 때 소멸 |
- static 변수는 프로그램이 메모리에 있는 동안 계속 영역을 차지하므로 너무 큰 메모리를 할당하는 것은 좋지 않다.
'JAVA' 카테고리의 다른 글
| [JAVA] List vs Set (1) | 2025.07.16 |
|---|---|
| [JAVA] ArrayList 란? (1) | 2025.07.16 |
| super 키워드 , 다운캐스팅 , instanceof (3) | 2025.07.15 |
| object 클래스 ,string 관련 (0) | 2025.07.15 |
| 자바에서 비교 시 equals / == 비교 (0) | 2025.04.26 |