[JAVA] 4가지 변수와 생명주기 및 자료형
public class VariableTypes {
int 인스턴스_변수;
static int 클래스_변수;
public void method(int 매개변수) {
int 지역_변수;
}
}
# 변수의 종류
1. 지역 변수 (local variables)
- 중괄호 내에서 선언된 변수
2. 매개 변수 (parameters)
- 매소드에 넘겨주는 변수
3. 인스턴스 변수 (instance variables)
- 매소드 밖에, 클래스 안에 선언된 변수, 앞에는 static 이라는 예약어가 없는 변수
4. 클래스 변수 (class variables)
- 메소드 밖에, 클래스 안에 선언된 변수 중에서 타입 선언 앞에 static 이라는 예약어가 있는 변수
# 변수의 생명주기
1. 지역 변수 (local variables)
- 중괄호 내에서만 유효
2. 매개 변수 (parameters)
- 메소드가 호출될 때 생명이 시작되고, 메소드가 끝나면 소멸된다.
3. 인스턴스 변수 (instance variables)
- 객체가 생성될 때 생명이 시작되고, 그 객체를 참조하고 있는 다른 객체가 없으면 소멸된다.
-> 가비지 콜렉터(Garbage collector) 라는 것이 때가 되면 알아서 메모리를 청소해 주기 때문이다.
4. 클래스 변수 (class variables)
- 클래스가 처음 호출될 때 생명이 시작되고, 자바 프로그램이 끝날 때 소멸된다.
# 자바의 타입 (자료형)
1. 기본 자료형 (Primitive data Type)
- 바로 초기화 가능하다.
- 총 8가지의 기본형을 미리 정의하고 제공한다.
- 기본 자료형은 반드시 사용하기 전에 선언(Declared)되야 한다.
- 비객체 타입이다. 따라서, null 값을 가질 수 없다.
- 스택(stack) 메모리에 저장된다.
| 자료형 | 타입 | 크기 | 비고 |
| 정수형 | byte | 1 byte ( 1byte == 8bit ) | -128 ~ 127 |
| short | 2 byte | -32,768 ~ 32,767 | |
| int | 4 byte | -2,147,483,648 ~ 2,147,483,647 | |
| long | 8 byte | -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 |
|
| 실수형 | float | 4 byte | -3.4E38 ~ +3.4E38 |
| double | 8 byte | -1.7E308 ~ +1.7E308 | |
| 문자형 | char | 2 byte | 유니코드 문자열 |
| 논리형 | boolean | 1 byte | true, false(기본값) |
2. 참조 자료형 (Reference data Type)
- new를 사용해서 초기화한다. 직접 만들 수 있다.
- 예외적으로 문자열을 초기화할 땐 "초기화 내용"으로 바로 초기화 할 수 있다.
* 참고
- 자바의 신