인터페이스란?
구현된 것이 아무것도 없는 밑 그림만 잇는 기본 설계도 (기능 중심 설계)
*특성 멤버 변수, 일반 메서드를 가질 수 없고, 오직 추상 메서드와 상수만을 멤버로 가질 수 있다.
* 추상 클래스보다 추상화가 더 높다.
* 인터페이스는 표준, 약속, 규칙(강제성이 있는 규칙이다.)
* 사용방법
* class 키워드 대신에 interface라는 키워드를 사용한다.
* class와 같이 접근 제어 지시자를 public, default를 사용 할 수 있다.
* 제약 사항
* 모든 멤버 변수는 public static final 이어야 한다.
ex)
public static final int SERIAL_NUMBER = 100; // 상수만을 가질 수 있다.
<형태>
public abstract void turnOn(); // 전부 자거성하는 문법
void turnOff(); // 생략한 문법
모든 메소드는 추상 메소드 이어야 하고, public abstract 키워드를 생략 할 수 있다.
소리라는 기능도 구현을 하고싶다면 인터페이스하나 만들어 sound라는 메소드를 만들어서 implement를 해주면 된다.
인터페이스에 메소드를 만들어주고 그걸 구현하는 클래스에서 재구성해서 사용하면 된다.
'개발일지 > 자바' 카테고리의 다른 글
FlowLayout (배열 활용) (0) | 2022.09.13 |
---|---|
FlowLayout활용 (2) | 2022.09.13 |
디자인패턴 - 템플릿 패턴(final 사용법) (0) | 2022.09.07 |
업캐스팅, 다운캐스팅 (0) | 2022.09.07 |
추상 클래스 (0) | 2022.09.05 |
댓글