안드로이드를 개발하다가 java의 초기화 타이밍에대해 다시금 생각하는 문제에 도달하여 이렇게 글을 남깁니다.


제가 도달한 문제인데 한번 알아두면 좋을것 같네요.


문제! 





print 된값은?




 ..


 ..


 ..


 ..


 ..


 ..


 ..


 ..


 ..


 ..


 ..


 ..


정답은 0 입니다.


 왜 0일까요? 분명 test라는 int를 5로 초기화 하는데,  결과값은 0이라니?


 이 문제때문에 한동안 고민했었는데요,  이유는 초기화 타이밍 때문이었습니다.


 JavaTest 라는 클래스를 초기화 하면서 test 라는 변수에 5라는 숫자를 넣기전에


 Parent 클래스가 test라는 변수를 호출하여 최초 클래스 생성시 기본값인 0 이 표시된것이지요,


 알고있으면 당연히 넘길 문제인데, 모르면 오랫동안 찾아도 쉽게 찾을수 없는 부분일듯 합니다.





+ Recent posts