[Java] 인터페이스(interface)
by Roel Downey728x90
반응형
인터페이스(interface)
인터페이스를 사용하는 이유? extends를 사용해서 다중 상속을 지원하지 않는다. 그래서 인터페이스를 사용해서 다중 상속을 한다.
인터페이스(interface)란? 다른 클래스를 작성할 때 기본이 되는 틀을 제공하면서, 다른 클래스 사이의 중간 매개 역할까지 담당하는 일종의 추상 클래스를 의미한다.
그렇지만 인터페이스는 추상 클래스와는 다르다. 인터페이스는 오로지 추상 메소드와 상수만을 포함 할 수있다.
인터페이스의 선언
접근제어자 interface 인터페이스이름 {
public static final 타입 상수이름 = 값;
public abstract 메소드이름(매개변수 목록);
}
단, 클래스와는 달리 인터페이스의 모든 필드는 public static final 이여야 하며, 모든 메소드는 public abstract 이여야 한다.
인터페이스의 구현
class 클래스이름 implements 인터페이스이름 {
}
인터페이스에 여러가지를 만들어 놓고, 모든걸 구현하지 않는다면 abstract 키워드를 사용해서 추상 클래스로 선언한다.
자바 상속과 구현을 동시에 사용 하는 경우
class 클래스이름 extends 상위클래스이름 implements 인터페이스이름 {
}
인터페이스는 인터페이스로부터만 상속을 받을 수 있고, 여러 인터페이스를 상속 받을 수 있다.
그럼 인터페이스를 왜 쓸까? 라는 생각을 하게 되었다.
클래스와 클래스 간의 관계를 인터페이스로 연결하면, 클래스마다 독립적으로 프로그래밍을 할수 있다.
728x90
반응형
'Java' 카테고리의 다른 글
[Java] 추상 클래스(abstract Class) (0) | 2020.03.20 |
---|---|
[Java] 메소드 오버라이딩(method overriding) (0) | 2020.03.18 |
[Java] final , static (0) | 2020.03.18 |
[Java] Scanner 를 close() 했을때 illegalStateException (0) | 2020.03.17 |
[Java] 상속 (inheritance) (1) | 2020.03.16 |
블로그의 정보
What doing?
Roel Downey