JAVA
Interface (인터페이스)
오매준
2024. 5. 16. 16:23
인터페이스 (Interface)
- 추상 클래스처럼 내부에 추상 메서드를 지닐 수 있는 것
- 인터페이스 내부에 선언하는 메서드는 모두 자동으로 public abstract가 된다
- 인터페이스 내부에 선언하는 변수들은 자동으로 final static이 된다
- 인터페이스는 인스턴스화 하는것이 불가능하다
- 인터페이스는 클래스에게 특정 성질을 부여하기 위해 사용한다
Serializable -> 직렬화가 가능한 객체가 된다
Comparable -> 비교가 가능한 객체가 된다
- 추상 클래스는 인터페이스 영역이 존재하지만 인터페이스에는 인스턴스 영역이 아예 없다
- 추상 클래스는 하나 밖에 상속받지 못하지만 인터페이스는 여러개 구현받을 수 있다
interface Swimmer {
// interface 내부의 메서드는 자동적으로 public abstract가 된다
void swim();
}
interface Runner {
void run();
}
class Whale implements Swimmer {
@Override
public void swim() {
System.out.println("고래는 수영을 아주 잘합니다.");
}
}