※ 객체 생성 필요X -> 인터페이스로 바로 호출 가능
호출 시 : "인터페이스명.메소드명" 사용 (static 이므로)
인터페이스
package sec04.exam03_static_method_use;
public interface RemoteControl {
//상수 필드
public static final int MAX_VOLUME = 10;
int MIN_VOLUME = 0; //public static final 생략 가능 -> 컴파일 과정에서 자동으로 붙음
//추상 메소드 - 선언부만 작성하고 실행내용은 작성x
public abstract void turnOn();
void turnOff(); //public abstract 생략 가능 -> 컴파일 과정에서 자동으로 붙음
void setVolume(int volume);
//디폴트 메소드 - java 8 버전 부터 - 실행내용 작성O - default 키워드 꼭 작성해야함!
public default void setMute(boolean mute) { //public 생략 가능 -> 컴파일 과정에서 자동으로 붙음
if(mute) {
System.out.println("무음 처리합니다.");
} else {
System.out.println("무음 해제합니다.");
}
}
//정적 메소드 - java 8 버전 부터 - 실행내용 작성O - static 키워드 꼭 작성해야함!
public static void changeBattery() {
System.out.println("건전지를 교환합니다."); //public 생략 가능 -> 컴파일 과정에서 자동으로 붙음
}
}
정적 메소드 사용
package sec04.exam03_static_method_use;
public class RemoteControlExample {
public static void main(String[] args) {
RemoteControl.changeBattery(); //static method 이므로 객체 생성 필요 없고 "인터페이스명.메소드명"으로 접근 가능
}
}
건전지를 교환합니다.
'Java > 8. 인터페이스 (Interface)' 카테고리의 다른 글
Day 11 : 필드의 다형성 (0) | 2021.11.02 |
---|---|
Day 11 : 자동 타입 변환 (promotion) (0) | 2021.11.02 |
Day 11 : 디폴트 메소드 사용 (0) | 2021.11.02 |
Day 11 : 추상 메소드 사용 (0) | 2021.11.02 |
Day 11 : 인터페이스로 구현 객체 사용 (0) | 2021.11.02 |