본문 바로가기

프로그래밍/자바

[JAVA] 자바 변수, static

※ 공부하면서 새롭게 알게 된 점 위주로 정리 (Java의 정석 3판)

 

static 특징

  • 객체 생성 없이 접근 가능
  • 프로그램이 종료 될 때 메모리 해제
  • Garbage Collector 관여 x 

 

선언 위치에 따른 변수 종류

class Variables {
	int iv; // 인스턴스 변수
    static int cv; // 클래스 변수
    
    void method() {
    	int lv = 0; // 지역 변수
      }
}

 

변수 종류 생성 시기 특징
클래스 변수 클래스가 메모리에 올라갔을 때 모든 인스턴스가 공통된 저장공간 공유
전역변수 성격
인스턴스 생성하지 않고 접근 가능
인스턴스 변수 인스턴스가 생성되었을 때 인스턴스마다 고유한 상태 유지
지역 변수 변수 선언문이 수행되었을 때 메소드 종료 시 소멸

 

static 메소드

  • 객체 생성 없이 클래스를 통해 직접 메소드 호출 가능
  • static이 선언되지 않은 변수, 메소드로 접근 불가능
  • 객체에서는 호출 불가능
Recent Posts
Popular Posts