Java는 메모리를 3가지로 구분
1. 메서드 영역(Class 영역)
- 클래스를 로딩 할 때 생성
- static변수
2. stack 영역
- 메서드내에 선언된 변수가 저장 되는 영역
- 지역변수
- 개발자가 직접 초기화 작업을 해야 함
- 지역 변수는 영역이 종료 하면 메모리에서 삭제
- FILO(LIFO) 구조
3. Heap 영역
- 멤버변수(instance 변수)
- 별도의 지시가 없으면 자동으로 초기화를 진행 함
- 자동으로 초기화 될 때 각 타입에 맞는 초기값이 대입
- 정수 : 0
- 실수 : 0.0
- 문자 : ' '
- 논리 : false
- 참조 : null
- 누군가 참조 주소를 알고 있으면 계속 사용 가능
- 아무도 참조 주소를 모르면 언젠가는 삭제