Java
추상클래스, 인터페이스
asd135
2024. 5. 23. 22:39
728x90
추상 클래스는 추상 메서드를 포함하는 클래스로 직접 객체를 생성할 수 없는 클래스이다.
특징
- 추상 클래스는 객체를 생성할 수 없다.
- 추상 클래스를 상속받는 자식 클래스는 추상 메서드를 구현해야 한다.
- 추상 클래스에는 추상 메서드와 일반 메서드가 올 수 있다. 일반 메서드인 경우 자식 클래스에서 무조건 재정의 할 필요는 없다.
기본 형태
abstract class name {
abstract public void A();
public void B(){
System.out.print("BB");
}
}
인터페이스
특징
- 필드에 static 변수만 올 수 있다.
- 추상 메서드 올 수 있음(public abstract 생략가능)
- 인터페이스간 다중 상속가능
- implements 키워드 사용하여 인터페이스 구현가능
default 메서드: 인터페이스에 코드가 작성된 메서드(키워드 생략가능)
private 메서드: 인터페이스에 있는 다른 메서드에 의해서만 호출가능
interface PhoneInterface {
int TIMEOUT = 10000; // 상수필드선언
void sendCall(); // 추상메서드
void receiveCall(); // 추상메서드
default void printLogo(){ // default 메서드
System.out.println("phone");
}
}
class phone implements PhoneInterface {
public void sendCall() {
System.out.println("벨소리");
}
public void receiveCall(){
System.out.println("전화옴");
}
}
public class test {
public static void main(String[] args) {
PhoneInterface p = new phone();
p.printLogo();
p.sendCall();
p.receiveCall();
}
}