field variable. heap memory에 올라가는 변수.
local variable. stack memory에 올라가는 변수.
heap, static memory에 올라가는 기본형 변수들은 초기화가 된다.
그러나 stack memory에 올라가는 변수들은 초기화되지 않는다.
stack memory 의 특성은 push, pop 등을 하며 어떤 목적을 가지고 계산을 하는데에 쓰이는 메모리.
즉, local variable은 프로그래머가 어떤 목적을 가지고 선언을 하며 그 목적은 계산이다.
data를 선언할 때 이미 목적을 가지고 있기 때문에
분명 data를 할당할 것이라 생각하기때문에 설계차원에서 초기화를 하지 않도록 설계되었다. (내 생각)
대신 heap memory에는 기본으로 초기화를 해준다.
그 값이 무엇이든 클래스가 처음 생성될 때 가지게 되는데 그것은 data 자체라고 보기 때문.
클래스의 생성은 계산이 아니라 하나의 엔티티(=객체)로서 의미를 가지기 때문입니다.
다만 field variable로 class라면 어떤 엔티티를 연결해주어야할지
알 수 없기때문에 초기화를 하지 않는다. (내 생각)
'Programming > JAVA' 카테고리의 다른 글
jackson : jackson json parser 쓸 때 field ordering (0) | 2015.05.20 |
---|---|
java : label break 를 통한 반복문 제어 (0) | 2012.09.21 |
[java] DTO등 객체의 property에 손쉽게 data set하는 유틸이 있네요. (0) | 2012.09.11 |
java : 정규식 표현을 해야할 경우에는 정규식 표현을 사용하는 것이 좋습니다. :) (0) | 2012.02.21 |
java : POJO란? (0) | 2011.12.19 |