com/android/mms/util/ContactInfoCache$CacheEntry::access$002
com/android/mms/util/ContactInfoCache$CacheEntry::access$002
com/android/mms/util/ContactInfoCache$CacheEntry::access$002
com/android/mms/util/ContactInfoCache$CacheEntry::access$002
com/android/mms/util/ContactInfoCache$CacheEntry::access$002 // (1)
.................
com/android/mms/ui/ConversationList$ThreadListQueryHandler::onQueryComplete
com/android/mms/ui/ConversationList::access$100
com/android/mms/ui/ConversationList::access$100 // (2)
access$100 이 무엇인가? 구글링 해보니 java compiler가 인위적으로 생성한 일종의 secret method라는 설명이 있었다. 내용을 읽어보니 일단 (1)의 경우에는 ContactInfoCache의 inner class인 CacheEntry클래스가 ContactInfoCache의 private method 혹은 variable에 접근할 수가 있어야 하는데... 실제로 compiler는 inner class를 별도의 독립된 클래스로 생성을 한다는 것이다.(즉, CantactInfoCache와 CacheEntry는 별도의 클래스로 class파일이 생성이 되는 것이다.) 때문에 inner class가 ContactInfoCache의 private variable에 접근하기 위한 방법으로 일종의 secret class를 생성한다는 내용이었다.
(그렇다면 (2)는 무엇을 의미할까... Inner class는 아닌 것 같다. 어쨌든 이 또한 필요에 의해서 compiler가 생성한 method일 듯 하다.)
'Java Programming' 카테고리의 다른 글
Invoking Methods by Name (0) | 2010.09.27 |
---|---|
static 변수 garbage collection (0) | 2010.07.14 |
java filecopy (0) | 2010.06.07 |
Handling memory leaks in Java programs (0) | 2010.03.29 |
ArrayList 에서 String[] 변환 (0) | 2009.11.03 |