본문 바로가기

나혼자공부시간(평일저녁,주말,휴일때)

인터페이스 메소드

인터페이스 이해

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가 나오는거 아닌가...?

왜 그렇지? 챗 지피티한테 물어보니 이렇게 답변이 나왔다.