티스토리 뷰
인터페이스는 클래스에서 구현해야하는 동작을 추상적으로 작성하는 작업 명세서라고 할 수 있다.
인터페이스를 사용하는 이유는 여러가지가 있다.
느슨한 연결을 위한 장치라고 표현 하기도 하고, 협업을 위한 토대가 되는 틀을 생산해내는
장치 역할이라 표현 표현하기도 하고, 다양하다.
조만간 인터페이스에 대해 좋은 참고 자료를 올리고자 한다.
인터페이스는 class 키워드를 사용하지 않고 interface를 사용한다.
인터페이스는 클래스로부터 '기능을 구현 하라' 할 뿐, 직접 기능 구현을 할 수 없다.
이제 'Impl'이라는 클래스에게 showInfo(); 라는 메서드를 구현하게 하도록 하고
'Impl'은 인터페이스에서 명세한 메서드를 구현 할 수 있게 단계적으로 작성해보자.
InterfaceA.java |
public interface IntefaceA{ public void showInfo(); } |
Impl.java |
public class Impl implements IntefaceA{ public void showInfo(){ } } |
Impl 클래스는 implements라는 키워드를 사용하여 InterfaceA가 명세한 기능(메서드)를 구현하기로 했고,
반드시 해야할 의무가 된다. (당연하지만, implements InterfaceA를 지우면 의무도 사라진다.)
만약 구현을 미루거나 작성하지 않게 된다면 아래와 같은 상황을 마주하게 될 것이다.
(화면상에서 Add unimplemented methods를 클릭하면, 친절하게 인터페이스에서 명세한 메서드를 구현하라고
메서드정의 코드를 자동화해준다.)