728x90
static
- '정적인', '정적의'라는 뜻으로 전역변수나 메서드에 사용할 수 있다. 객체는 생성될 때 각각의 변수를 가지고 있다. 각 객체에 변수를 선언할 때마다 메모리에 할당해야한다. 또한 각 객체에 선언한 변수의 값을 모두 증가시켜야 하는 경우가 발생한다면 일일이 값을 변경해주어야하는 불편함이 있다. 이러한 문제는 static 키워드를 사용을 통해 해결할 수 있다.
static 키워드를 사용하면 메모리의 공유를 통해 높은 효율성을 얻을 수 있다.
static 변수
- 정적 변수라고 하며, static 키워드를 사용하여 선언한 변수는 메모리 할당이 한 번만 이루어지며, 해당 클래스의 모든 객체들에 의해 공유된다. 따라서 공통적으로 같은 값을 유지해야 하는 변수에 사용하면 좋다.
static 메서드
- 정적 메서드라고 하며, 객체가 생성되지 않은 상태에서도 호출할 수 있다. 정적 메서드 안에는 인스턴스 변수를 선언할 수 없기 때문에 정적변수와 지역변수만을 사용한다. 정적 메서드 안에서 인스턴스 메서드 또한 호출할 수 없다.
static은 언제 사용하는가?
- 클래스 내에 인스턴스 변수를 사용하지 않을 때(모든 변수가 공통적으로 같은 값을 유지해야 하는 경우)
메서드 내에 인스턴스 변수를 사용하지 않을 때
- 메서드의 호출시간이 짧아지기 때문에 효율이 높아진다.(static이 없으면 메서드를 찾는 과정에 시간이 더 걸리기 때문)
728x90
'[JAVA] > JAVA 기본' 카테고리의 다른 글
[JAVA] break 문과 continue 문 (0) | 2022.09.28 |
---|---|
[JAVA] 재귀 함수 (0) | 2022.09.20 |
[JAVA] 배열 (0) | 2022.09.17 |
[JAVA] 가비지 컬렉션(Garbage Collection) (0) | 2022.09.16 |
[JAVA] 스레드(Thread) (0) | 2022.09.16 |