static - static 예약어, static 정의 형식

CODEDRAGON Development/Java

반응형


 

static

·       static 예약어

·       static 정의 형식

·       static 변수(class 변수)

·       http://codedragon.tistory.com/4606

·       static 메소드(클래스 메소드)

·       http://codedragon.tistory.com/2605

 

 

 

static 예약어

·       static 예약어는 메서드(멤버함수)멤버변수에 정의 할 수 있으며

·       지역 변수클래스에서는 정의 할 수 없습니다.

·       메서드(멤버함수)나 멤버변수에 static이라는 예약어를 정의하면 static메서드 (클래스메서드) static변수(클래스변수)라고 불리게 됩니다.

·       이유는 멤버변수나 메서드(멤버함수)들은 해당 객체가 생성될 때 객체가 생성된 메모리 공간에 같이 존재하게 되지만 static으로 선언된 메서드(멤버함수)나 변수들은 static영역(메소드영역)이라는 곳에 유일하게 만들어 지면서 모든 객체(Object)들이 사용 할 수 있도록 공유개념을 가지게 되기 때문입니다.

 

 

구분

설명

메서드(멤버함수)

static메서드

멤버변수

static변수(클래스변수)

 

static 정의 형식

접근제한과 static은 위치 교체가능

[접근제한] static [자료형] 변수명;

[접근제한] static [반환형] 메서드명(자료형 인자1, 자료형 인자2, ){}

 

 

 

static 예약어의 특징

·       프로그램 시작시 최초에 단 한 번만 생성되고 초기화됩니다.

·       인스턴스를 생성하지 않고도 클래스명을 통해 바로 사용할 수 있습니다.

·       모든 인스턴스에 의해 공유됩니다.