인터페이스 방식

인터페이스 이해

package ch08.sec02;
//인터페이스
public interface RemotControl {
    int MAX_VOLUME = 10;
    int MIN_VOLUME = 0;
    public void turnOn();
    void turnOff();
    void setVolume(int volume);
}
package ch08.sec02;

public class Audio implements RemotControl {
    private int volume;
    @Override
    public void turnOn() {
        System.out.println("Audio turns on");
    }

    @Override
    public void turnOff() {
        System.out.println("Audio turns off");
    }

    @Override
    public void setVolume(int volume) {
        if(volume>RemotControl.MAX_VOLUME){
            this.volume = RemotControl.MAX_VOLUME;
        } else if (volume < RemotControl.MIN_VOLUME) {
            this.volume = RemotControl.MIN_VOLUME;
        }else {
            this.volume = volume;
        }
        System.out.println("current volume: "+volume);
    }
}
package ch08.sec02;

public class RemoteControlExample {
    public static void main(String() args) {
        RemotControl rc;

        rc = new Television();
        rc.turnOn();
        rc.turnOff();
        rc.setVolume(7);

        rc = new Audio();
        rc.turnOn();
        rc.turnOff();
        rc.setVolume(14);
    }
}

———-중요한———-

여기서 질문이 있는데 10을 상수로 설정하고 10을 초과하면 상수 10을 이렇게 설정합니다.

14를 입력하면 14가 그대로 안나오는데…?

왜? 채팅 GPT에 물어보니 이런 답변이 나왔다.