티스토리 뷰
interface
- 순수 추상 메서드, 상수를 멤버로 가질 수 있다.
- 상수 선언만 가능하며 인스턴스나 정적 멤버 선언은 할 수 없다.
- 다중 상속(extends), 다중구현(implements) 가능
- 생성자가 없으며 객체 생성이 불가하다. (추상클래스는 생성자 가능하나 객체 생성 불가)
interface Interface {
// 상수만 가능
// 추상메서드만 가능
}
- 멤버변수, 매개변수, 로컬변수 타입으로 선언 가능
class TV implements RemoteCon {
@Override
public void turnOn() {
System.out.println("TV On");
}
@Override
public void turnOff() {
System.out.println("TV Off");
}
}
class A {
RemoteCon rc; // 멤버변수
A(RemoteCon rc) {} // 생성자의 매개변수
void methodA(RemoteCon rc) {} // 메서드의 매개변수
void methodB() { // 메서드의 로컬변수
RemoteCon rc = new TV();
}
}
interface의 필요성
- 메서드명 통일로 강제로 구현 표준화가 가능하다. (구현의 가능성 - 오버라이딩)
- 인터페이스를 통해 간접적 클래스 사용 (간편한 모듈 교체)
- 관계가 없는 클래스에게 인터페이스를 통한 관계 부여 (다형성)
- 모듈 간의 독립적 프로그래밍이 가능하다. (개발시간 단축)
'배운 것 기록 > java' 카테고리의 다른 글
Wrapper (0) | 2022.06.14 |
---|---|
enum (0) | 2022.06.10 |
abstract 추상화 (0) | 2022.06.07 |
레퍼런스 형변환 (0) | 2022.06.02 |
super, final (0) | 2022.06.01 |
댓글