정적 멤버는 클래스에 고정된 멤버로 객체를 생성하지 않고 사용할 수 있는 필드와 메소드를 말한다.
* 형식
public class 클래스{
static int num
static int plus(int x, int y){return x+y;}
}
* 정적 필드와 정적 메소드는 클래스에 고정된 멤버이므로
클래스 로더가 클래스(바이트 코드)를 로딩해서 메소드 영역에 적재할 때 클래스 별로 관리된다.
클래스 로딩이 끝나면 바로 사용할 수 있다.
* 정적 필드 선언 여부의 기준
- 인스턴스 필드 : 객체마다 가지고 있어야 할 데이터
- 정적 필드 : 객체마다 가지고 있을 필요성이 없는 공용적인 데이터
* 사용 : dot(.)을 찍어서 바로 접근 가능.
클래스.정적 필드
클래스.정적 메소드
+) new를 이용한 객체 생성 후 객체참조 변수로도 접근가능함
(하지만, 이렇게 접근할경우 이클립스에서는 경고 표시가 나타난다.)
* 선언 시 주의점
객체가 없어도 실행되기 때문에 내부에서 클래스의 인스턴스 필드나 인스턴스 메소드를 사용할 수 없다.
또한, 객체 자신의 참조인 this 키워드도 사용이 불가능하다.
'컴퓨터 공부 > JAVA' 카테고리의 다른 글
java.lang / java.util 패키지 (0) | 2021.08.20 |
---|---|
자바 API (0) | 2021.08.20 |
추상 클래스 (0) | 2021.08.09 |
변수 리터럴 (0) | 2021.08.06 |
자바 가상기계(JVM) (0) | 2021.08.03 |
댓글