- "인터페이스 (Interface)" : 명세서 역할로써, 클래스 외부에서 제어(규제)하기 위한 장치
- 인터페이스는 형식만 존재함
- 클래스가 특정 인터페이스를 사용한다면,
그 클래스는 반드시 인터페이스의 메소드들을 구현해야 함
interface I {
public void z();
// 형식만 존재
}
class A implements I {
public void z() {}
}
- 클래스 외부에서 제어할 수 있어야 함으로 안에 있는 메소드는 전부 public이어야 함
- 하나의 클래스는 여러 개의 인터페이스를 구현할 수 있음
interface I1 {
public void x();
}
interface I2 {
public void z();
}
class A implements I1, I2 {
public void x() {...}
public void z() {...}
}
- 인터페이스도 상속할 수 있음
interface I3 {
public void x();
}
interface I4 extends I3 {
public void z();
}
class B implements I4 {
public void x() {...}
public void z() {...}
}
- 추상 클래스는 형식만 갖고 있는 메소드가 있지만 구체적인 메소드나 필드가 존재할 수 있음
- 인터페이스는 형식만 갖고 있는 메소드들만 존재할 수 있음
(구체적인 메소드나 필드가 존재할 수 없음)
'onYouTube > Java' 카테고리의 다른 글
예외 (0) | 2021.03.26 |
---|---|
다형성 (Polymorphism) (0) | 2021.03.24 |
final (0) | 2021.03.24 |
추상 (Abstract) (0) | 2021.03.24 |
접근 제어자 (0) | 2021.03.24 |