바닥부터 시작하는 프로그래밍/국비JAVA

14일차(클래스 복습, static 정의 및 언제쓰이는지?)

예얀 2024. 3. 22. 10:56

지역 변수는 stack

 

stack과 heap의 큰 차이점

소멸시기가 다름

stack은 스코프를 나가면 소멸 

heap은 가비지콜렉터가 소멸시

 

Static은 메모리 해제가 불가능하다 . 메모리 제어가안됨.

 

static은 인스턴스 생성과 관계없이 처음부터 딱 한개만 생성된다.

즉, new QWER과 관계없다.

static은 메소드 영역에 생성 

즉, new QWER();없어도 사용가능

 

static 메모리는 소멸안됨.

그 위 변수들은 인스턴스 변수라고 불림

QWER의 멤버변수(멤버 메소드)인건 맞지만 인스턴스 변수가 아니다.!!

일반적으로 static을 생성할때는 static을 사용할때는 값을 초기화해준다 처음부터 생기는 애니까

static int d = 0;

 

실무에서는 보통 멤버변수에 static안붙일땐 다 안붙이고 붙일땐 다 붙인다.

 

이클립스에서 Syso 치고 컨트룰 스페이스 누르면 자동완성 뜸 엔터치면 자동완성됨.

 

 

 

 

Static 붙은 메소드 사용방법 : 클래스명.메소드명();

 static 붙인 얘들은 

클래스명.메소드명();  하면 쓸 수 있다.

static을 어쩔때 붙여야하는지?

static은 (글로벌)광범위하게 쓸수있다. 

 

즉 static은 자기자신(인스턴스 메모리)이 중요할때는 안쓰임

static은 일시적이고 외부에 있는 값을 불러올때 쓰인다