Notice
Recent Posts
Recent Comments
Link
관리 메뉴

설.현.아빠

Chapter 5 ] 입력 (5-1 Event Handler) 이벤트 처리의 다양성. ③ 액티비티가 리스너 구현 본문

교재 & 강좌/안드로이드 프로그래밍 정복

Chapter 5 ] 입력 (5-1 Event Handler) 이벤트 처리의 다양성. ③ 액티비티가 리스너 구현

설.현.아빠 2011. 3. 9. 11:49



잠깐 웹서핑을 하는데...古장자연님이 다시 이슈화 되네..편지? 그거 이제 찾은거야? 원래 알고 있었으면서 안찾은건 아니고?


머 이기회에 늙고 썩어 빠진 병든 몹들 쓸어버리면 좋으련만...자기 살 파먹기는 안하겠지.쩝...제일 약한 몹만 시범타로 가겠지.


제목 참....액티비티가 리스터 구현--;;;이 머꼬...


머 이해하기는 쉽다. 액티비티에 implements View.OnTouchlistener를 해서 Activity내부에 onTouch()를 구현하는 방식이라는게...

제목만 봐도 알겠다^^ 별도로 클래스를 만들어 리스너 인터페이스를 구현하는 방식보다는 낫네^^




생각했던거 보다 소스가 많이 단순화 되었다. 



음....별도로 리스너를 등록할 필요도 없이 걍 Activity를 넘겨주기만 하면 onTouch에서 처리를 해준다.


리스너 객체를 생성할 필요도 없다.



인터페이스는 여러가지를 많이 선언해도 된다고 했으니 여기에 한개 더해볼까??



후후 됐다. 콤마(,)를 이용해 구분을 해서 implements 인터페이스1, 인터페이스2, 인터페이스3... 이렇게 설정해주고 해당 추상메서드를 구현해


줄 수 있다.


인터넷에 보면 상속과 인터페이스에 대해 많은 글들이 있다.


extends와 implements의 차이점은 멀까???


일단 상속은 다중 상속이 안되서 매번 상속받는 클래스를 작성해야 한다는점. 인터페이스는 위처럼 여러개의 인터페이스를 선언해도 된다.


더 ..... 없나요?? 지금까지 사용해본 내 생각으로는 extends의 내부 메소드가 여러가지이다. 그리고 그 내부 메소드를 재정의해서 사용한다.


implements는 추상 메소드 하나만 제공한다. 추상 메소드를 구현해서 사용한다. 


예를 들자면 extends View를 한다면 View클래스가 제공하는 내부 메소드인 onTouchEvent, onClickEvent...등을 쭉~~사용할 수는 있지만 


extends View, Button, TextView... 처럼 여러개의 클래스를 extends를 할 수는 없다.


하지만 implements 같은 경우엔 implements View.OnTouchlistener, AnimationListener...처럼 쭉~~선언 후 사용할 수 있다.


머...그때 그때 상황에 따라서 사용하면 될 것 같다. View에 관한 상속만 필요하다면 구지 implements를 통해 여러개 선언하는것 대신


extends View하나만 상속해서 여러 메소드를 한꺼번에 재 정의하는편이 좋을 것 같고...


View외에 Animation과 같은 다른 종류의 Event를 처리해야 할 경우엔 필요한 Listener만 implements시켜서 사용하는 편이 좋을것 같다.



Comments