1. Lifetime 이란?
Lifetime은 해당 변수가 메모리에 언제까지 살아있는지를 의미한다.
2. Scope 이란?
변수의 스코프란 해당 변수를 사용할 수 있는 영역범위를 뜻한다.
변수는 지역변수, 매개변수, 인스턴스 변수, 클래스 변수에 따라 라이프 타임이 나뉘게 된다.
클래스 변수와 인스턴스 변수는 '클래스 영역'
지역 변수는 '클래스 영역 이외의 영역'
✓ '지역변수'는 블록 안에 변수를 선언하고 블록이 끝나기 전까지 유효하다.
✓ '매개변수'는 메소드 괄호 안에 선언하고 메소드가 끝나기 전까지 유효하다.
✓ '인스턴스 변수'는
클래스 선언 시 static 키워드 없이 선언된 필드이다. 이 필드는 인스턴스 별로 다른 값을 가질 수 있기 때문에, 인스턴스 변수라고 불린다.
static method를 제외한 모든 클래스 영역이다.
✓ '클래스 변수'는
변수에 static 키워드를 붙여 사용하고 JVM이 클래스를 로딩할 때 초기화되고,
프로그램이 종료되기 전까지 유효하다.
'develop' 카테고리의 다른 글
3항 연산자 -초보개발자- (1) | 2020.12.18 |
---|---|
비트 연산자란? -초보개발자- (0) | 2020.12.18 |
리터럴과 변수 선언 및 초기화 -초보개발자- (0) | 2020.12.18 |
프리미티브 타입과 레퍼런스 타입 -초보개발자- (0) | 2020.12.18 |
JDK 란? -초보개발자- (1) | 2020.12.18 |