LANGUAGE/JAVA
[JAVA] INTERFACE - 인터페이스
진심스테이크
2018. 3. 22. 09:51
인터페이스
- 상수와 추상 메소드만 갖고 있다
- 시간 단축 -> 강제성을 갖고 있기 때문에 무조건 정의되어있는 것들을 오버라이딩 해줘야 한다
- 독립적 프로그램 가능
- 동적 바인딩 가능
- 같은 놈들끼리 상속 가능
- 다중 상속 가능 -> 왜? 이름 밖에 선언을 하지 않기 때문
Ex)
interface A {
(final static) int a = 10;
(abstract) void disp();
}
#상속은 가져다 써!! 인터페이스는 만들어!! 뭐 이런 느낌...
중첩 인터페이스 : 클래스의 멤버로 선언된 인터페이스
- 해당 클래스와 긴밀한 관계를 맺는 구현 클래스를 만들기 위함
- UI 프로그래밍에서 이벤트 처리 목적
ex) class A {
interface I {
void mtehod( );
}
}
public class Button {
OnClickListener listener; //인터페이스 타입 필드
//매개변수의 다향성
void setOnClickListener(OnClickListener listener) {
this.listener = listener;
}
//구현 객체의 onClick() 메소드 호출
void touch() {
listener.onClick();
}
//중첩 인터페이스
interface OnClickListener{
void onClick();
}
}