안녕하세요

프로그램 과정에서 막혔던 문제들에 대한 해결책 정리


페이지 목록

2011년 1월 5일 수요일

[안드로이드] final을 쓰는 이유( android final)

final을 쓰게 되면 지역 변수는 상수화 되어서 계속 해서 지속되게 된다(?). 그래서 쉽게 말하면  Listener로 전달하고 싶은 지역변수는 final 로 처리해야 한다는 말이다.
 조금 더 자세히 이야기 하자면, Oncreate에 선언한 변수들은 지역변수로서 Oncreate function이 종료하면 사라지게 된다. 그 경우 Onclick 이나 OnTouch와 같이 click 이나 Touch 할 때 마다 불리는 함수에서는 지역변수를 접근할 수가 없다. Oncreate function이 종료함과 동시에 그 안에서 호출된 지역변수들은 모두 사라지기 때문이다. 하지만 final을 붙여주면 그 변수는 상수화 되어 메모리에 계속 남아 있게 되는 것이다.(?) 아마도..
 조금 내용이 어려워서 제대로 이해 했는 지 모르겠다.
 자세한 이야기는 밑의 블로그에 잘 나와있다.

출처: http://devbible.tistory.com/30

댓글 없음:

댓글 쓰기