클래스 멤버 (static)

- 멤버들 중 "static" 이라는 키워드가 붙는 멤버들을 클래스 멤버라고 함

일반적으로 멤버라고 하면 인스턴스 멤버를 의미하며, 인스턴스를 빼고 그냥 멤버라고 함

- 클래스 멤버는 인스턴스 멤버와 다르게 인스턴스 안에 존재하지 않고 메모리 상에 따로 존재함

모든 인스턴스에서는 클래스 멤버를 공유함 (동일한 값으로 공유)

- 인스턴스와 상관 없이 클래스 이름으로 접근이 가능하며, 인스턴스를 통해서도 접근이 가능함

단, 될 수 있으면 클래스 이름으로 접근하는 것이 좋다 (인스턴스 멤버와의 구분을 위해서라도...)

- 클래스 멤버는 인스턴스가 생성되기 전에 이미 메모리에 생성되어 있음

JVM이 클래스를 실행할 때 제일 먼저 메모리에 클래스 멤버를 생성시킴

- 클래스 메소드로 지정하려면 반드시 메소드 내부에서 인스턴스 변수를 참조하는 일이 없어야 함

일반 메소드에서 클래스 변수를 참조할 수 있으나, 클래스 메소드에서는 인스턴스 변수를 참조할 수 없음

[출처] 자바) 클래스, 인스턴스, 생성자, 클래스 멤버 [20221117]|작성자 wnsdnjs1123

Total
Today
Yesterday