티스토리 뷰
인터페이스
- 상수와 추상 메소드만 갖고 있다
- 시간 단축 -> 강제성을 갖고 있기 때문에 무조건 정의되어있는 것들을 오버라이딩 해줘야 한다
- 독립적 프로그램 가능
- 동적 바인딩 가능
- 같은 놈들끼리 상속 가능
- 다중 상속 가능 -> 왜? 이름 밖에 선언을 하지 않기 때문
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();
}
}
'LANGUAGE > JAVA' 카테고리의 다른 글
[JAVA] GUI (0) | 2018.03.26 |
---|---|
[JAVA] INNER CLASS - 내부 클래스 (0) | 2018.03.22 |
[JAVA] STACK / QUEUE (0) | 2018.03.21 |
[JAVA] CLASS - 클래스 (0) | 2018.03.21 |
[JAVA] 문자열 계산기 (0) | 2018.03.21 |
댓글