Java
추상메소드 선언

인터페이스를 통해 호출된 메소드는 최종적으로 객체에서 실행된다.

그렇게 때문에 인터페이스의 메소드는 실행 블록이 필요없는 추상 메소드로 선언한다.

추상메소드는 리턴타입, 메소드명, 매개변수만 기술되고 중괄호{ } 는 붙이지 않는 메소드를 말한다.



[RemoteControl.java] 메소드 선언
public interface RemoteControl {
//상수
public int MAX_VOLUME=10;
public int MIN_VOLUME=0;
//추상메소드
public void turnOn();
public void turnOff();
public void setVolume(int volume);
}
//메소드 선언부만 작성(추상메소드)



디폴트 메소드 선언

디폴트 메소드는 자바 8에서 추가된 인터페이스의 새로운 멤버이다.

형태는 클래스의 인스턴스 메소드와 동일하지만 default 키워드가 리턴 타입 앞에 붙는다.



[public] default 리턴타입 메소드명(매개변수,...){ ... }


위에 RemoteControl.java 에 이어서
//디폴트 메소드
default void setMute(boolean mute){
if(mute){
System.out.println( "무음 처리합니다.");
} else {
System.out.println( "무음 해제합니다.");
}
}



정적 메소드 선언

정적 메소드는 public 특성을 갖기 때문에 public 을 생략하더라도 가능하다.


//정적 메소드
static void changeBattery(){
System.out.println( "건전지를 교환합니다.");



다음은 인터페이스 구현에 대해서 설명하도록 하겠습니다.

댓글 1