본문 바로가기
[JAVA]/JAVA 기본

[JAVA] static 키워드

by 황원용 2022. 9. 19.
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