Static 메모리
static 키워드를 사용하면 데이터가 고정 메모리에 올라가기 때문에 효율적이고, static영역에 저장된 메모리는 모든 객체가 공유한다는 장점이 있지만, Garbage Collector가 관리하지 않아 무분별하게 사용하면 할당되지 않은 메모리의 낭비가 심해진다.
- static 변수는 클래스 변수다
- static 키워드가 붙은 메소드는 객체를 생성하지 않고도 메소드에 접근이 가능하다.
- static 메소드 내부에서 Instance 메소드를 호출할 수 없다. - > 인스턴스 메소드는 반드시 객체 생성 후 호출 가능.
class StaticStudyClass{
void instanceMethod() {} //인스턴스 메서드 생성
static void staticMethod() {} //static 메서드 생성
//인스턴스 메서드
void instanceMethodCall(){
instanceMethod(); //호출 O
staticMethod(); //호출 O
}
//Static 메서드
static void staticMethodCall() {
instanceMethod(); //호출 X (에러 발생 => static메서드는 객체를 생성하지 않기때문에 인스턴스 메서드를 사용할 수 없다.)
staticMethod(); //호출 O
}
}
'자바' 카테고리의 다른 글
[자바] Map과 Iterator (0) | 2023.01.28 |
---|---|
[자바] Iterator, ListIterator 개념 및 사용법 (0) | 2023.01.28 |
[자바] 기본형 매개변수와 참조형 매개변수 (객체지향) (0) | 2023.01.19 |
[자바] 힙(heap)과 스택(stack) 메모리 구조 (0) | 2023.01.18 |
[자바] BufferedReader / StringTokenizer (0) | 2023.01.15 |