본문 바로가기
컴퓨터 공부/JAVA

정적 멤버와 static

by 구깨비 2021. 8. 7.

정적 멤버는 클래스에 고정된 멤버로 객체를 생성하지 않고 사용할 수 있는 필드와 메소드를 말한다. 

 

* 형식

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

댓글