티스토리 뷰
오랜만에 JAVA의 인터페이스를 복습해보려고 한다.
복습이므로 기억해두고자 하는 인터페이스의 특징들만 정리해 두려고 한다.
인터페이스(interface)
인터페이스는 자바 프로그래밍 언어에서 클래스들이 구현해야 하는 동작을 지정하는데 사용되는 추상형이다.(위키백과의 정의)
풀어서 말하자면 한 사람이 혼자 코드를 작성하는 경우엔 불편함이 없겠지만 여러명이 함께 코드를 코드를 작성할 경우 특정 클래스는 약속한 틀이 있을 것이다.
그리고 그 약속한 틀을 인터페이스로 구현하는 것이다.
특징
- 인터페이스 내의 모든 메소드들이 정의상 추상적이기 때문에 abstract 키워드가 필요하지 않다.
-> 인터페이스 내에 존재하는 메소드는 무조건 public abstract로, 변수는 무조건 public static final로 선언됨.
-> 인터페이스의 맴버로 추상메소드와 상수만 허용된다.
-> 인터페이스 내에서 틀을 잡을 수 있어도 로직을 작성할 수는 없다.
- 클래스에 implements를 사용해 인터페이스를 구현한다.
-> 구현하려는 인터페이스의 모든 메소드를 구현해야 한다.
-> 인터페이스의 모든 메소드를 구현하지 않는다면 abstract를 표시해 추상 클래스로 변경해야 한다.
- 하나의 클래스가 하나 이상의 인터페이스를 구현 할 수 있다.
-> 클래스는 단일 상속만 가능하지만 인터페이스는 여러개 구현 가능하다.
-> 위 특징에서 말했듯이 인터페이스를 여러개 구현할 경우 구현하는 모든 인터페이스의 메소드를 구현해야 한다.
- 인터페이스도 상속이 가능하다. (서브인터페이스)
-> 일반 상속 방법과 같이 인터페이스에 extends를 사용해서 확장이 가능하다.
-> 또한 인터페이스끼리는 다중 상속이 가능하다.
참고
위키백과
오픈튜토리얼스
'IT' 카테고리의 다른 글
크롤링, 스크래핑, 파싱 차이 (용어 정리) (0) | 2018.04.16 |
---|---|
[JAVA] 제어자(modifier), 접근제어자(access modifier) (0) | 2018.04.09 |
[JAVA] 추상클래스와 인터페이스의 차이 (0) | 2018.03.28 |
[JAVA] 추상메서드, 추상클래스 (abstract) (0) | 2018.03.22 |
정규표현식(정규식) - javascript (0) | 2018.03.04 |