인터페이스 선언
코드는 인터페이스(interface)를 통해 객체와 서로 통신해 코드 수정 없이 객체 교환이 가능하다
인터페이스는 클래스와 유사하나 객체를 생성할 수 없어 생성자를 가질 수 없다
인터페이스 예시
package sec01.exam03;
public interface RemoteControl {
//상수
int MAX_VOLUME = 10;
int MIN_VOLUME = 0;
//추상 메소드
void turnOn();
void turnOff();
void setVolume(int volume);
}
인터페이스의 구현과 사용
인터페이스에서 정의된 추상 메소드를 재정의해서 실행 내용을 가지고 있는 클래스를 구현(implement) 클래스라 하며, 클래스 선언부에 implements 키워드와 인터페이스 이름이 명시된다
타입 변환과 다형성
인터페이스의 사용 방법은 동일하지만 구현 객체를 교체해 프로그램의 실행 결과를 다양화하는 것도 다형성에 해당한다
구현 객체가 인터페이스 타입으로 자동 변환하면 인터페이스에 선언된 메소드만 사용 가능하다
'Languages > Java' 카테고리의 다른 글
[HUFS/객체지향프로그래밍] #9 예외 처리 (1) | 2023.01.04 |
---|---|
[HUFS/객체지향프로그래밍] #8 중첩 클래스와 중첩 인터페이스 (0) | 2023.01.04 |
[HUFS/객체지향프로그래밍] #6 상속 (0) | 2022.12.30 |
[HUFS/객체지향프로그래밍] #5 클래스 (0) | 2022.12.30 |
[HUFS/객체지향프로그래밍] #4 참조 타입 (0) | 2022.12.27 |