인터페이스(interface)
:추상 메서드 집합(프로그래밍 관점)
- 오직 추상 메서드와 상수만을 멤버로 가짐. (iv,cv 변수 x)
-껍데기인 설계도
- 모든 멤버가 public
interface 인터페이스명 {
(public) (static) (final) 타입 상수명 = 값; //상수
(public) (abstract) 메서드명 (매개변수들); //추상 메서드
}
-인터페이스 모든 멤버변수 public static final이므로 생략가능
-인터페이스 모든 멤버메서드 public abstract이므로 생략가능
단, static,디폴트 메서드는 예외
인터페이스 상속
- 인터페이스는 인터페이스로부터만 상속 받을 수 있음.
- Object클래스가 최고조상x, 인터페이스 조상은 인터페이스
- 다중상속 가능(조상 여러개 가능) 내용이 없어 충돌해도 문제없기 때문
interface Play{
void playing(int x,int y);
}
interface Stop{
void Stopping(Slow s);
}
interface Move extends Play, Stop {} //다중상속o
인터페이스 구현
: {} 만들기
- 인터페이스 인스턴스 생성 불가
- 자신에 정의된 추상메서드를 완성
- implements 사용
class 클래스명 implements 인터페이스명 {
//인터페이스에 정의된 추상메서드를 구현
}
class Test implements Move{
void playing(int x,int y){...};
void Stopping(Slow s){...};
}
'Java' 카테고리의 다른 글
| [Java] 예외처리(Exception handling) (0) | 2023.12.25 |
|---|---|
| [Java] 추상 클래스, 추상 메서드(abstract) (0) | 2023.12.24 |
| [Java] 매개변수의 다형성 (0) | 2023.12.23 |
| [Java] 다형성(Polymophism), 참조변수 형변환, instanceof연산자 (0) | 2023.12.23 |
| [Java] 제어자, 지정자(modifier), 캡슐화 (0) | 2023.12.23 |