티스토리 뷰

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();
    }
}

 

 

 

 

 

 

'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
댓글