티스토리 뷰

Development/Java

Static이란?

김드랍 2017. 8. 2. 16:46

Static


- static 예약어를 사용한 멤버변수(클래스변수)는 인스턴스가 생성되기 전(클래스가 메모리에 올라갈 때) 미리 메모리에 올라간다

- 미리 메모리에 올라가 있기 때문에 인스턴스 생성없이 바로 사용 가능

- 메모리 할당을 처음에 한번만 하기 때문에 메모리 사용에 이점이 있다

- 하나의 메모리 주소를 바라보기 때문에 변수의 값을 공유한다

- 호출 시간이 짧아지기 때문에 효율이 높다


1 ) 클래스를 설계 할때 멤버변수 중 모든 인스턴스가 공통적으로 사용하는 변수에 static을 사용

- 인스턴스를 생성하면 각 인스턴스들은 서로 독립적이기 때문에 서로 다른 값을 유지한다

- 각 인스턴스들이 공통적으로 같은 값이 유지되어야 하는 경우 static 사용


2 ) static이 붙은 멤버변수는 인스턴스를 생성하지 않아도 사용할 수 있다

- static이 붙은 멤버변수(클래스 변수) 는 클래스가 메모리에 올라갈 때 이미 자동적으로 생성되기 때문이다


3 ) static이 붙은 메서드(함수)에서는 인스턴스 변수를 사용할 수 없다


4 ) 메서드 내에서 인스턴스 변수를 사용하지 않는다면 static을 붙이는 것을 고려한다

- 메서드의 작업내용중에 인스턴스 변수를 필요로 한다면 static을 붙일 수 없다

- 반대로 인스턴스 변수를 사용하지 않는다면 가능한 static으로 선언하는 것이 좋다

- 메서드 호출시간이 짧아지기 때문에 효율이 높아진다




'Development > Java' 카테고리의 다른 글

예외처리(Exception)  (0) 2017.08.24
컬렉션 프레임워크(Collection Framework) 란?  (0) 2017.08.08
JVM 메모리 구조 와 가비지 컬렉션(Garbage Collection)  (0) 2017.08.02
JSP란?  (0) 2017.08.01
다형성(Polymorphism)  (1) 2017.06.08
댓글