정리 : 클래스 레벨로, 인스턴스 생성 없이 클래스 이름.멤버로 직접 사용 가능. 클래스가 로드되는 시점에 메모리에 한 번만 할당된다. 유일한 인스턴스를 전역적으로 공유하고 관리하는 싱글톤 패턴에서 사용한다.
static은 자바와 같은 객체 지향 프로그래밍 언어에서 사용되는 키워드입니다. static 키워드가 붙은 변수, 메서드, 또는 내부 클래스는 클래스 레벨에서 사용되며, 객체를 생성하지 않고도 사용할 수 있습니다. static의 주요 특은 다음과 같습니다.
클래스 레벨의 멤버: static을 사용하면 변수, 메서드, 또는 내부 클래스가 클래스에 속하게 되며, 객체(인스턴스)와 독립적으로 동작합니다.
인스턴스 생성 없이 사용 가능: static 멤버는 클래스 이름으로 직접근할 수 있으므로 인스턴스 생성 없이 사용할 수 있습니다. 예를 들어, 아래와 같이 사용할 수 있습니다.
java
// static 변수 사용 예
ClassName.staticVariable = 10;
// static 메서드 사용 예
ClassName.staticMethod();
객체들 간에 공유: static 변수는 클래스에 속하기 때문에 해당 클래스의 모든 객체가 동일한 변수를 공유합니다. 그러므로 static 변수의 값이 변경되면, 모든 객체에서 변경된 값이 적용되게 됩니다.
메리 효율: static 멤버는 클래스가 로드되는 시점에 메모리에 한 번만 할당되며, 인스턴스가 생성될 때마다 재할당되지 않아 메모리 효율성이 높습니다.
static 키워드는 주로 전역 변수, 클래스 레벨에서 사용하기 원하는 메서드, 상수, 유틸리티 클래스 등에 사용됩니다. 또한, 싱글톤 패턴을 구현할 때도 사용되는데, 이 경우 static을 사용하여 유일한 인스턴스를 전역적으로 공유하고 관리할 수 있습니다.
'미완성글' 카테고리의 다른 글
안드로이드 studio Dao와 어댑터 (0) | 2023.06.08 |
---|---|
Dao를 DB파일 안에 선언하는 이유? (0) | 2023.06.08 |
android studio에서 굳이 왜 model을 따로 관리할까? (0) | 2023.06.06 |
안드로이드 스튜디오의 View와 데이터베이스의 View는 무엇일까? (0) | 2023.06.05 |
비동기식이란? (2) | 2023.06.05 |