내 첫사랑! 컴퓨터 프로그래밍/자바는 나의 친구
클래스멤버란?
쭌강사
2023. 3. 30. 12:38
클래스 멤버 (static)
- 멤버들 중 "static" 이라는 키워드가 붙는 멤버들을 클래스 멤버라고 함
일반적으로 멤버라고 하면 인스턴스 멤버를 의미하며, 인스턴스를 빼고 그냥 멤버라고 함
- 클래스 멤버는 인스턴스 멤버와 다르게 인스턴스 안에 존재하지 않고 메모리 상에 따로 존재함
모든 인스턴스에서는 클래스 멤버를 공유함 (동일한 값으로 공유)
- 인스턴스와 상관 없이 클래스 이름으로 접근이 가능하며, 인스턴스를 통해서도 접근이 가능함
단, 될 수 있으면 클래스 이름으로 접근하는 것이 좋다 (인스턴스 멤버와의 구분을 위해서라도...)
- 클래스 멤버는 인스턴스가 생성되기 전에 이미 메모리에 생성되어 있음
JVM이 클래스를 실행할 때 제일 먼저 메모리에 클래스 멤버를 생성시킴
- 클래스 메소드로 지정하려면 반드시 메소드 내부에서 인스턴스 변수를 참조하는 일이 없어야 함
일반 메소드에서 클래스 변수를 참조할 수 있으나, 클래스 메소드에서는 인스턴스 변수를 참조할 수 없음