마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

new LinearLayout(this) 에서 this의 의미가 어떤것인가요?

0 추천
View 나 Widget이나 새로 생성할때 첫 파라메터에 this를 넣는데

그 이유가 뭘까요?

 

this가 아닌 다른경우는 어떤것이 있나요?
토토로찡 (340 포인트) 님이 2016년 3월 21일 질문

2개의 답변

0 추천
 
채택된 답변
Context입니다.

알기 쉽게 말씀드리자면, 뷰나 위젯이나, 혼자 허공에 붕 떠서 돌아다니는게 아닌

특정 어플리케이션 -> 액티비티에 종속이 되겠죠?

따라서, 해당 어플리케이션의 컨텍스트를 넘겨서 해당 뷰가 어디에 붙일거다~ 라는걸 알려준다고

대략적으로 생각하시면 되겠습니다.

물론 내부적으로 더 파고 들어가면 훨씬 복잡하지만요..

위에도 말씀 드렸지만.. 대략적인 설명이고, 실제와는 많이 다를겁니다.

컨텍스트를 얻어오는 방법만 해도 getBaseContext, getApplicationContext등이 있고

컨텍스트가 꼭 뷰를 설정할때만 쓰이는 것은 아니니까요.

 

this가 아닌 다른 경우는

위에 말씀드린 getBaseContext, getApplicationContext등이나 fragment에서의 getActivity등도 들어갈 수 있습니다.

이들의 공통점은, Context 혹은 Context를 상속받은 클래스의 객체를 리턴한다는 것이죠.
모나미153 (17,540 포인트) 님이 2016년 3월 21일 답변
토토로찡님이 2016년 3월 21일 채택됨
답변 감사합니다
컨텍스트에대해 좀더 알아보고 생성자에대해서도 봤는데
조금 궁금한것은

나중에 엑티비티에 setContentView를 하거나
다른뷰에 addView를 하는데 중복되는것이 아닌가 싶기도하더라구요
이부분은 좀더 다른 뜻이 있겠죠?
간단하게 설명해 주신부분 감사합니다.
0 추천
this란 Java에서 객체 자신을 나타내는 키워드입니다.

this가 있고 비슷하게 this()가 있죠.

안드로이드를 잘하시려면 Java를 먼저 잘하셔야 됩니다.
익명사용자 님이 2016년 3월 21일 답변
아.. 제가 질문을 두리뭉실하게 했나봅니다.
this 자체의 뜻은 아는데...

왜 자기자신이라는 파라메터가 필요한지가 궁금하더라구요
...