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 예약어의 특징
· 프로그램 시작시 최초에 단 한 번만 생성되고 초기화됩니다.
· 인스턴스를 생성하지 않고도 클래스명을 통해 바로 사용할 수 있습니다.
· 모든 인스턴스에 의해 공유됩니다.
'Development > Java' 카테고리의 다른 글
Summary - 자바의 실행 구조, 자바의 실행 구조, 자바 자료형, 자바 연산자 & 제어문, 접근지정자 (0) | 2017.09.23 |
---|---|
컬렉션 클래스 총정리 (0) | 2017.09.23 |
this와 this(), 키워드this를 이용한 다른 생성자의 호출, this의 용법, 객체외부 vs 객체내부에서의 멤버접근 (0) | 2017.09.22 |
Varargs(VARiable ARGumentS; 가변인자) (0) | 2017.09.22 |
캡슐화(Encapsulation) 특징 (0) | 2017.09.22 |