인터페이스(Interface): 서로 관계가 없는 물체들이 상호 작용을 하기 위해 사용하는 장치나 시스템
public interface TV{
public int MAX_VOLUME = 100;
public int MIN_VOLUME = 0;
public void turnOn();
public void turnOff();
public void changeVolume(int volume);
public void changeChannel(int channel);
}
인터페이스에서 변수와 메소드를 선언하면 컴파일시 자동으로 아래와 같이 바뀐다.
public interface TV{
public static final int MAX_VOLUME = 100;
public static final int MIN_VOLUME = 0;
public abstract void turnOn();
public abstract void turnOff();
public abstract void changeVolume(int volume);
public abstract void changeChannel(int channel);
}
public class LedTV implements TV{
public void turnOn(){
System.out.println("켜다.");
}
public void turnOn(){
System.out.println("끄다.");
}
public void changeVolume(int value){
System.out.println(value + "로 볼륨조정하다.");
}
public void changeChannel(int value){
System.out.println(value + "로 볼륨조정하다.");
}
}
public class LedTVExam{
public static void main(String[] args){
TV tv = new LedTV(); // 인터페이스가 구현클래스를 참조함
tv.turnOn();
tv.changeVolume(50);
tv.changeChannel(6)
tv.turnOff();
}
}