티스토리 뷰
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 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 해시알고리즘
- 스택
- mariadb
- 스프링 부트 시작 에러
- Data Structure
- 스프링 부트 에러
- HTTP
- mac db설치
- mac mariadb 설치
- mysql데이터타입
- org.springframework.beans.factory.BeanDefinitionStoreException
- mariadb설치
- mariadb데이터 타입
- 큐
- 400 badgateway
- mac mariadb
- spring boot org.springframework.beans.factory.BeanDefinitionStoreException
- hash algorithm
- 400 error
- 데크
- Stack
- spring boot 시작 에러
- 자료구조
- hash알고리즘
- springframewor
- mariadb 데이터타입
- mysql 데이터 타입
- 알고리즘
- mysql데이터
- mysql 세팅
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함