1.인터페이스
자바에서 클래스가 다중상속을 지원하지않기때문에
인터페이스를 통해 다중 상속을 지원한다.
다른 클래스를 작성할 때 기본이 되는 틀을 제공하면서
다른 클래스 사이의 중간 매개 역할까지 담당하는 일종의 추상 클래스다.
1-1.인터페이스 선언
[public] interface 인터페이스 이름 {}
1-2.상수 필드 선언
인터페이스 내부에서는 인스턴스 또는 정적 필드를 선언할수없고 상수필드를 선언할수있다.
인터페이스 내부의 필드는 생략하더라도 자동으로 public static final이 붙는다.
package a12_Interface;
public interface RemoteCotrol {
public int Max_VOLUME=10;
public int Min_VOLUME=0;
}
1-3.추상 메소드 선언
인터페이스에 선언되는 메소드는 모두 추상 클래스로 생략하더라도
자동으로 public abstract의 특성이 붙는다.
package a12_Interface;
public interface RemoteCotrol {
public int Max_VOLUME=10;
public int Min_VOLUME=0;
public void Turn_on();
public void Turn_off();
}
2.인터페이스 구현
구현 객체를 생성할 구현 클래스를 생성해야한다.
2-1.구현 클래스
implements 키워드로 인터페이스 이름을 명시하여 사용한다.
클래스 내부에는 인터페이스에 선언된 추상 메소드의 실체 메소드를 선언 해줘야한다.
class Television implements RemoteCotrol{
@Override
public void Turn_on() {
System.out.println("TV ON");
}
public void Turn_off(){
System.out.println("TV OFF");
}
}
3.인터페이스 사용
인터페이스 변수를 선언한뒤에
구현 객체에 대입하는 식으로 인터페이스를 사용할수있다.
package a12_Interface;
public class a12 {
public static void main(String[] args){
RemoteCotrol remote1;
remote1= new Television();
}
}
4.다중 인터페이스 구현 클래스
구현 클래스가 여러개의 인터페이스 타입으로 사용하는것이다.
implements 인터페이스 이름1, 인터페이스 이름2, ..... 형태로 구현한다.
package a12_Interface;
public interface RemoteCotrol {
public int Max_VOLUME=10;
public int Min_VOLUME=0;
public void Turn_on();
public void Turn_off();
}
interface Internet{
public void connect_internet();
}
class Television implements RemoteCotrol,Internet{
@Override
public void Turn_on() {
System.out.println("TV ON");
}
public void Turn_off(){
System.out.println("TV OFF");
}
public void connect_internet(){
System.out.println("INTERNET CONNECTED");
}
}
'Language > JAVA' 카테고리의 다른 글
[Java] 인터페이스 다형성 (0) | 2024.05.17 |
---|---|
[Java] 추상클래스 (0) | 2024.05.16 |
[Java] 타입 변환과 다형성 (0) | 2024.05.16 |