목록인터페이스 (2)
꿈 많은 사람의 이야기
인터페이스에선 추상 메소드를 빼고 디폴트 메소드도 존재한다. 디폴트 메소드는 인터페이스에서 바로 사용할 수 없고 또한, 추상 메소드가 아닌 인스턴스 메소드이므로 구현 객체가 있어야 사용할 수 있다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 interface RemoteControlIn { //상수 int MAX_VOLUME = 10; int MIN_VOLUME = 0; //추상 메소드 void turnOn(); void turnOff(); void setVolume(int volume); //디폴트 메소드 default void setMute(boolean mute) { if(mute) { System..
자바에서 인터페이스는 객체의 사용 방법을 정의한 타입이다. 인터페이스는 객체의 교환성을 높여주기 때문에 다형성을 구현하는 매우 중요한 역할을 한다. 이러한 인터페이스는 하나의 객체가 아니라 여러 객체들과 사용이 가능하므로 어떤 객체를 사용하느냐에 따라서 실행 내용과 리턴값이 다를 수 있다. 따라서 개발 코드 측면에서는 코드 변경 없이 실행 내용과 리턴값을 다양화 할 수 있다는 장점을 가지게 된다. 인터페이스는 ~.java 형태의 소스 파일로 작성되고 컴파일러(javac.exe)를 통해 ~.class 형태로 컴파일되기 때문에 물리적 형태는 클래스와 동일하다. 단, 소스 작성 시 선언 방법이 다르다. 인터페이스 선언은 class 키워드 대신에 interface를 넣으면 된다. interface Ri{ } 이..