앞전에 Interface 를 사용하는 이유를 기술 했었습니다.


그런데 개발 하다보니 이 사실을 잊고 개발을 하고 있었어요.


아래와 같은 생성자가 있다고 합시다.

2개의 파라미터

Context 와 EventListener 라는 녀석을 받고 있네요.


public Foo(Context context, EventListener listener)

{


}


EventListener 인터페이스는 아래와 같다고 합시당.

Interface EventListener

{

public void onClick();

}



EventListener 를 implements 하는 Book 클래스가 있다고 합시다.


public class Book implements EventListener

{

public void onClick()

{

}

}



위의 Foo 클래스의 생성자를 호출 할 때,

Book book = new Book();

Foo foo = new  Foo(getApplicationContext(),  book);


getApplicationContext() 는 안드로이드 Activitiy 안에 있는 내장 함수 입니다^^


book이 EventListener를 임플리먼츠 하고 있기 때문에 book 이 곧 EventListener 입니다.


이런식으로 다형성으로 인해, 생성자 호출이 가능해 집니다.

'개발이야기' 카테고리의 다른 글

소통하는 개발자  (0) 2015.08.12
배우는 법 배우기  (0) 2015.05.19
프로그래머 도움글  (0) 2014.08.26
이클립스 테마 바꾸기  (0) 2014.04.16
상속은 왜 하나?  (0) 2014.02.20
Posted by 자바리즘
,