목록이것이 자바다/08 인터페이스 (8)
충분히 쌓여가는
인터페이스에는 완전한 실행 코드를 가진 디폴트 메소드를 선언할 수 있다 추상 메소드는 실행부(중괄호{})가 없지만, 디폴트 메소드에는 실행부가 있다 public default 리턴타입 메소드명(매개변수, ...) { ... } 예제 package ch08.sec05; public interface RemoteControl { int MAX_VOLUME = 10; int MIN_VOLUME = 0; void turnOn(); void turnOff(); void setVolume(int volume); default void setMute(boolean mute) { if(mute) { System.out.println("무음"); setVolume(MIN_VOLUME); } else { System.ou..
인터페이스는 구현 클래스가 재정의해야 하는 public 추상 메소드를 멤버로 가질 수 있다 추상 메소드는 return 타입, 메소드명, 매개변수만 기술되고 중괄호{}를 붙이지 않는 메소드를 말한다 public abstract를 생략하더라도 컴파일 과정에서 자동으로 붙게 된다 public abstract 리턴타입 메소드명(매개변수, ...); 예제 package ch08.sec04; public interface RemoteControl { int MAX_VOLUME = 10; int MIN_VOLUME = 10; void turnOn(); void turnOff(); void setVolume(int volume); } package ch08.sec04; public class Television imp..
인터페이스는 public static final 특성을 갖는 불변의 상수 필드를 멤버로 가질 수 있다 public static final 타입 상수명 값; 인터페이스에 선언된 필드는 모두 public static final 특성을 갖기 때문에 public static final을 생략하더라도 자동적으로 컴파일 과정에서 붙게 된다 상수명은 대문자로 작성하되, 서로 다른 단어로 구성되어 있을 경우 언더바(_)로 연결하는 것이 관례 상수는 구현 객체와 관련 없는 인터페이스 소속 멤버이므로 인터페이스로 바로 접근해서 상수값을 읽을 수 있다 package ch08.sec03; public interface RemoteControl { int MAX_VOLUME = 10; int MIN_VOLUME = 0; } p..
1. 인터페이스에 대한 설명으로 틀린 것은 무엇입니까? ➊ 인터페이스로 객체(인스턴스)를 생성할 수 있다. ➋ 인터페이스는 다형성의 주된 기술로 사용된다. ➌ 인터페이스를 구현한 객체는 인터페이스로 동일하게 사용할 수 있다. ➍ 인터페이스를 사용함으로써 객체 교체가 쉬워진다. 답: 1 2. 인터페이스의 구성 멤버에 대한 설명으로 틀린 것은 무엇입니까? ➊ 인터페이스는 인스턴스 필드가 없고 상수를 멤버로 가진다. ➋ 추상 메소드는 구현 클래스가 재정의해야 하는 멤버이다. ➌ 디폴트 메소드는 구현 클래스에서 재정의할 수 없다. ➍ 정적 멤버는 구현 객체가 없어도 사용할 수 있는 멤버이다. 답: 3 3. 인터페이스 다형성에 대한 설명으로 틀린 것은 무엇입니까? ➊ 필드가 인터페이스 타입일 경우 다양한 구현 객..