728x90
[인터페이스란?]
- 클래스나 프로그램이 제공하는 기능을 명시적으로 선언하는 역할을 합니다.
- 메소드의 구현부가 없기 때문에 인터페이스 내에 존재하는 모든 멤버 변수는 public static final입니다.
- 인터페이스 내에 존재하는 메소드는 무조건 public abstract로 선언됩니다.
- 어떤 객체가 하나의 인터페이스 타입이라는 것은 그 인터페이스가 제공하는 모든 메서드를 구현했다는 의미입니다.
- 하나의 인터페이스를 여러 객체가 구현하게 되면 클라이언트 프로그램은 인터페이스의 메서드를 활용하여 여러 객체의 구현을 사용할 수 있습니다. (다형성 구현)
- 예) JDBC 드라이버
public interface 인터페이스 이름{
public static final float pi = 3.14F;
public abstract void func();
}
[인터페이스 상속/구현]
- 클래스가 인터페이스 상속하는 경우에는 '상속'보다는 '구현'이라고 표현합니다.
- 인터페이스에 정의된 빈 메소드를 구현해야하기 때문입니다.
- 그래서 인터페이스를 구현(상속)할 때 키워드는 extends가 아닌 implements를 사용합니다.
- 추상 클래스와 마찬가지로 인터페이스가 직접 인스턴스를 생성할 수 없습니다.
interface Animal {
void cry();
}
class Dog implements Animal {
public void cry(){
System.out.println("bark! bark!")
}
}
'프로그래밍 > 자바(Java)' 카테고리의 다른 글
[ 자바 / JAVA ] Wrapper Class(Wrapper 클래스) (0) | 2021.07.26 |
---|---|
[ 자바 / JAVA ] 추상 클래스와 인터페이스의 차이 (0) | 2021.07.23 |
[ 자바/ JAVA ] 추상클래스(abstract class) (0) | 2021.07.22 |
[ 자바 / JAVA ] String, StringBuilder, StringBuffer 클래스 (0) | 2021.07.22 |
[ 자바 / JAVA ] 오버라이딩 vs 오버로딩 (0) | 2021.07.22 |