반응형
JAVA 자바 Static Variable(변수)
Static 변수
Static 변수란 하나의 값을 여러 인스턴스가 공유를 할 수 있도록 하는 역할입니다.
자바에는 클래스 외부에는 어떤 변수도 선언을 할 수 없습니다.
모든 변수나 함수는 클래스 내부에 선언되어야 합니다.
그러면 정적 변수는 어떻게 선언하냐면, 'static'이라는 keyword를 붙여 선언합니다.
클래스(멤버) 변수는 힙 메모리에 저장되는 반면
static 변수는 데이터(상수) 영역 메모리에 저장되는 차이도 있습니다.
처음 프로그램이 로드될 때에 생성이 되며, 인스턴스와 독립적으로 인스턴스 생성 없이 사용할 수 있습니다.
사용할 때에는 다음과 같이 클래스 이름으로 참조하여 사용합니다.
Student.id = 001;
public class Student {
public static int id;
}
클래스 이름이 아닌 인스턴스로도 접근이 가능하나, 경고표시가 나올 수 있습니다.
Static 함수
static 함수도 기본적인 개념과 동작원리 등은 static 변수와 동일합니다.
다른 점으로는, static 변수는 모든 함수에서 사용이 가능하지만, static 함수 내에서 static이 아닌 인스턴스(멤버) 변수를 사용할 수 없습니다.
인스턴스 변수는 new로 생성이 돼야만 생성되는데, static 함수는 그 이전에 메모리에 생성이 되는데, 인스턴스 변수는 당시에 생성이 안되어 있으므로 사용하면 안 됩니다.
static 함수는 static변수를 사용하기 위해 사용한다고 생각하시면 될 것 같습니다.
반응형
'프로그래밍 언어 > 자바(JAVA)' 카테고리의 다른 글
자바(JAVA) - FileReader, FileWriter 파일 읽기, 쓰기 (0) | 2021.12.21 |
---|---|
자바(JAVA) - 입출력 스트림 (0) | 2021.12.19 |
자바(JAVA) - 폴더 파일명 변경 (0) | 2021.12.18 |
[JAVA 자바] 문자열(String) forEach(Enhanced for) 사용법 (0) | 2021.10.18 |
[JAVA 자바] Public Class & Class (0) | 2021.02.22 |