🪴 멤버 변수 (== 필드)
🌱 1. 인스턴스 변수
- 필드에 작성된 일반 변수
- new 연산자에 의해서 객체(인스턴스)가 생성될 때
메모리가 할당 된다고 하여 인스턴스 변수라 함.- heap 영역에 메모리가 할당. (heap -> 동적 매모리 영역)
- 객체가 생성될 때 마다 생성
- 객체가 참조하는 변수가 없을 경우 사라짐.
🌱2. 클래스 변수 (== static 변수)
- 필드에 static 예약어와 함께 작성된 변수
- static 영역에 메모리가 할당되어 프로그램 종료 시 까지 유지됨
- 프로그램 실행 시 1회만 생성되는 변수
⇒ static으로 선언된 멤버변수로, 프로그램 실행 시 정적메모리 영역에 자동할당 되며,
프로그램 종료시 자동 소멸
🪴 그 외 지역변수
- 메소드 또는 제어문 안에서 선언된 변수
stack메모리 영역에 할당 되었다가.
메소드 종료 시 소멸됨.
[접근제한자] [예약어] class 클래스명 {
[접근제한자] [예약어] 자료형 변수명 [= 초기값];
}
public class Academy {
public int temp1;
protected int temp2;
int temp3; //접근제한자 생략 시 (default)
private int temp4; //캡슐화 원칙으로 private 사용
}

💬 static 표현식
public class Academy {
private static int temp1;
}
💬 final 표현식
public class Academy {
private final int TEMP1 = 100; // final 키워드가 붙은 필드명은
// 모두 대문자로 표기
private int temp4;
}
