전역 변수
클래스 영역에 바로 선언한 변수 --> 클래스 내에서면 어디서는 다 사용 가능
1. 필드 == 멤버변수 =- 인스턴스 변수
- 생성 시점 : new 연산자를 통해 객체 생성
- 소멸 시점 : 객채 소멸시 같이 소멸
2. 클래스 변수 == static 변수 => 예약어 쓸 수 있는데 static 이라는 걸 쓰면 클래스 변수가 됨
- 생성 시점 : 프로그램 실행과 동시에 무조건 메모리 영역(static)영역
- 소멸 시점 : 프로그램 종료될 때 소멸
지역변수
클래스 영역 내에 어떠한 특정한 구역({}) 에 선언한 변수 --> 선언된 해당 그 지역 내에서만 사용 가능하다.
특정한 구역: 메소드{}, 제어문 등등
1.
-생성 시점 : 지역 변수가 속해있는 특정한 구역({}) 실행 시 메모리 영역에 할당
-소멸 시점 : 특정한 구명({}) 종료시 소멸
실행 클래
public
- 어디서든 접근 가능(같은 패키지, 다른 패키지 전부)
protected
- 같은 패키지 접근 가능, 다른 패키지일 경우 상속구조(부모자식 간의 관계)는 접근 가능
default
- 같은 패키지에서만 접근 가능(다른 패키지 절대 불가능)
private
- 오직 해당 클래스에서만 접근 가능
public String pub = "public";
protected String pro = "protected";
String def = "default"; //안쓰면 default
private String pri = "private";
클래스 변수 (static)
- static 은 공유의 개념
- static 이 붙은 애들은 프로그램 실행과 동시에 메모리의 static 영역이 올라감
- public이랑 같이 씀
staic : 공유의 개념
final : 상수의 개념(한 번 지정된 값 변경 불가능)