-
클래스 변수, 인스턴스 변수, 지역 변수JAVA 2024. 5. 6. 04:30
public class Car { static int numberOfCars; // 클래스 변수 String color; // 인스턴스 변수 void method() { int lv=0; // 지역변수 } }
1. 클래스변수
- static 이 앞에 붙는다
- 모든 인스턴스가 공통된 저장공간(변수)을 공유한다. 한 클래스의 모든 인스턴스들이 공통적인 값을 유지해야 하는 속성의 경우, 클래스 변수로 선언하면 된다.
- 클래스 변수는 클래스가 로드될 때 한 번만 메모리에 할당되며, 해당 클래스의 모든 인스턴스에서 공유된다.
- '클래스이름.클래스변수' 형식으로 접근하자
2. 인스턴스 변수
- 인스턴스 변수는 해당 클래스의 각 인스턴스가 생성될 때마다 메모리에 할당된다.
- 각 인스턴스는 자체 인스턴스 변수를 가지며, 서로 다른 값을 가질 수 있다
- 인스턴스가 생성될 때 자동으로 초기화 된다 ex) int=0, 참조형=null
3. 지역변수
- 메서드 내에 선언되어 메서드 내에서만 사용가능 -> 메서드가 종료되면 사용할 수 없음 ex) for문 내에서 선언된 변수
- 항상 직접 초기화해야 한다.
'JAVA' 카테고리의 다른 글
반환(return)은 왜 할까? (0) 2024.05.07 기본형과 참조형 (0) 2024.05.05 클래스, 객체(인스턴스) (0) 2024.05.05