변수 분류 기준
- 데이터 타입
- 선언 위치
1. 데이터 타입
1-1) 기본형 변수 primitive cariable
- 메모리에 값이 저장
- integer, float, double, boolean, char
1-2) 참조형 변수
- 메모리에 데이터의 주소값 저장
- ArrayList, String
2. 선언위치
2-1) 멤버변수 (필드)
- 클래스 내에 선언
- 멤버 : 객체의 속성(멤버변수) + 객체의 기능(메소드)
- 클래스 변수와 인스턴스 변수가 해당
2-1-1) 클래스 변수
- 클래스 내에 선언
- static 으로 선언, 한번만 생성되고 프로그램 종료까지 유지
- JVM에서 실행되어 한번 메모리에 클래스가 올라가게 되면, 프로그램 종료까지 메모리에서 유지됨
- 같은 클래스의 모든 객체들에게 공유됨
- this 키워드 사용불가
- 캡슐화로 인해 클래스 밖에 존재할 수 없는 변수 및 함수를 static을 통해 전역변수 및 전역메소드화함.
2-1-2) 인스턴스 변수
- 클래스 내에 선언
- 생성마다 새로운 변수 생성
- 같은 클래스의 모든 객체에게 공유되지 않음.
2-2) 지역변수
- 메소드 블럭 내에서 선언됨
- 메소드 호출 시점 부터 종료시점까지 유지됨.
- 매개변수
public class test {
int iv; // 인스턴스 변수
static int cv ; // 클래스 변수
public void method() {
int lv; // 지역 변수
}
public void makeSum(int startVal, int endVal) { // 매개 변수
}
참고