클래스 -> 전부 메소드로 구성
추상 클래스 -> 추상 메소드를 포함 new 불가
인터페이스 ->전부 추상 메소드로만 구성
인터페이스의 모든 변수는 상수가 됨.
new 불가 객체의 명세.
인터페이스는 class 위치에 interface로 적음
abstract없이도 내부 모든 메소드는 추상메소드임.
인터페이스 상속은 extends 대신 implements 사용
상속받은 클래스가 인터페이스의 일부만 구현하는 경우 class 앞에 abstract 키워드 붙음
인스턴스를 상속받은 클래스가 인스턴스의 모든 메소드를 구현하면 new 가능인데 아니면 abstract 붙혀야 하고, 추상 클래스로 빠짐.
따라서 이 추상 클래스를 다시 상속받아서 전부 구현한 클래스만이 new로 인스턴스화 가능.
클라이언트는 인터페이스를 보고 각 메소드를 어떻게 사용하는지 알 수 있음.
구현된 메소드를 사용하는건 클라이언트고 각 인스턴스에서 어떻게 각각 메소드를 구현했는지 클라이언트가 알 필요 없음.
추상클래스랑 다른것은 추상클래스는 일부만 구현했을 수도 있고 아닐수도 있음.
JDBC를 사용시 (자바 데이터 베이스) Connection이라는 개체가 필요한데 이는 인터페이스임.
이 안에는 구현해야 하는 메소드들이 명시 되어 있는데 Connection을 implements해서 구현한 하위개체가
Orcale, Mysql, Msql 따라서 각각의 라이브러리를 import하면 각각의 개체가 구현한 메소드를 사용할 수 있고 이 메소드들은 connection 안의 메소드를 보면됨.
인터페이스가 인터페이스를 상속받을 떄는 extends사용
하나의 클래스는 클래스를 extends 받고 인터페이스를 implements가능
'Java' 카테고리의 다른 글
자바 연습 (인터페이스) (0) | 2019.10.28 |
---|---|
인터페이스 default 키워드 (0) | 2019.10.28 |
자바 연습 (상속& 업캐스팅) (0) | 2019.10.27 |
자바 연습 (추상 클래스) (0) | 2019.10.27 |
final 키워드 사용 (0) | 2019.10.27 |