본문 바로가기

프로그래밍/안드로이드

민궁디아빠님 안드로이드 질문에 대한 답변입니다.

먼저 답변을 적다보니 내용이 너무 길어져서 이쪽으로 글을 옮기게 되었습니다. 부디 오해마시길 바랍니다.

 

안녕하세요. 저는 안드로이드 앱 프로그래밍 왕왕짜 초보 아저씨입니다. 우연히 들렀는데 안드로이드 프로그래밍에서 어려운 부분을 알기 쉽게 조목조목 잘 설명해주셔서 무척 인상적이었습니다. 해서...초면에 실례를 무릅쓰고 여쭤보려 합니다.
public void onClick(View v)
public boolean onCreatOptionsMenu(Menu menu)
메서드의 인자를 int, string 이런 걸로 받는 것 어떻게 처리되는 건지 잘 알겠는데 위에서 View v, Menu menu처럼 인자를 클래스타잎으로 받는다는 건 도통 뭔 뜻인지 모르겠습니다. 이게 해결이 안되니 속이 답답하고 머리가 아프기만 합니다. 부디 도움을....

 

질문하신 부분에 대해 상세히 이해를 하실려면 자바에서 "상속" 부분을 공부하시면 좀더 도움이 되실겁니다. 우측 동영상 강좌에 보시면 자바동영상 강좌가 매일마다 하나씩 올라갈 겁니다. 시간나실때 한번씩 보시면 도움이 되실겁니다. 하지만 질문하신 내용이 워낙 방대하다보니 하나하나 알려드리기가 힘들답니다. 그러하니 읽어보시고 궁금하신 사항을 댓글로 달아 주시면 제가 확인할때마다 해당 질문에 대해 답변드리도록 하겠습니다.


먼저 인자를 클래스타입으로 받는 이유는 편리함을 위해서 입니다. 만약 상속개념이 없다면 각각의 클래스마다 모든 메소드를 만들어야 하는것이죠. 버튼을 위한 onClick메소드, View를 위한 onClick메소드, ImageButton을 위한 onClick메소드등 각각의 클래스마다 이벤트를 만들어야 하니 겁나게 짜증나는 일이 되는거죠. 하지만 여기에 상속이라는 녀석이 들어가면 참 편리해 진답니다. onClick(View)라고 하면 View를 상속받은 클래스들은 모두 사용이 가능하게 됩니다. Button, ImageButton, View등 View를 상속받은 모든 클래스들은 사용이 가능하다는 것이죠.

 

그러하니 각각의 클래스에 해당하는 메소드를 만들지 않고 하나만 만들어두면 되는 것이죠.

하지만 메소드안에서 사용을 하실땐 꼭 형변환을 해야 합니다.

 

흠 이것저것 생략하고 답변을 드리다 보니 좀 어수선하네요.

 

음... 제가 글재주가 너무 없다보니 적어놓고 보니 먼가 좀 아쉽기는 하지만 기초내용부터 서술하려고 하니 좀 많아질것 같아 여기까지 하겠습니다.

물론 이해가 되신다면 흠....    이쪽 계통으로 타고나신것일겁니다. ㅎㅎ

댓글로 질문해 주십시요. 그때그때 답변드리겠습니다.  해당 내용에 대한 추가적인 강좌를 올리게 되면 여기에 링크도 같이 걸어 두도록 하겠습니다.