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("고래는 수영을 아주 잘합니다.");
	}
	
}